ในที่สุดฉันก็ปล่อยโปรเจ็กต์สู่ระดับการผลิตและทันใดนั้นฉันก็มีปัญหาบางอย่างที่ฉันไม่เคยต้องจัดการในขั้นตอนการพัฒนา
เมื่อผู้ใช้โพสต์การกระทำบางอย่างบางครั้งฉันก็ได้รับข้อผิดพลาดต่อไปนี้
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 111, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "home/ubuntu/server/opineer/comments/views.py", line 103, in comment_expand
comment = Comment.objects.get(pk=comment_id)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/manager.py", line 131, in get
return self.get_query_set().get(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 366, in get
% self.model._meta.object_name)
DoesNotExist: Comment matching query does not exist
สิ่งที่ทำให้ฉันผิดหวังจริงๆคือโครงการทำงานได้ดีในสภาพแวดล้อมท้องถิ่นและยิ่งไปกว่านั้นวัตถุแบบสอบถามที่ตรงกันยังมีอยู่ในฐานข้อมูล
ตอนนี้ฉันสงสัยว่าผู้ใช้กำลังเข้าถึงฐานข้อมูลเมื่อสงวนไว้สำหรับผู้ใช้รายอื่น แต่ไม่มีทางพิสูจน์ข้อโต้แย้งของฉันและฉันไม่มีทางแก้ไขใด ๆ
ใครเคยมีปัญหาแบบนี้มาก่อนหรือไม่? ข้อเสนอแนะเกี่ยวกับวิธีแก้ไขปัญหานี้หรือไม่?
ขอบคุณมากสำหรับความช่วยเหลือล่วงหน้า
แก้ไข: ฉันได้สืบค้นฐานข้อมูลด้วยตนเองโดยใช้ข้อมูลเดียวกันกับที่ดึงมาจากอีเมลแจ้งข้อผิดพลาดของเซิร์ฟเวอร์ที่ฉันได้รับ ฉันสามารถเข้าชมรายการได้โดยไม่มีปัญหาใด ๆ นอกจากนี้ดูเหมือนว่าพฤติกรรมเดียวกันทุกประการที่ผู้ใช้ทำไม่ได้ทำให้เกิดปัญหาใด ๆ เกือบตลอดเวลา แต่ในบางกรณี (ซึ่งยังไม่ทราบแน่ชัด) สรุปได้ว่าไม่มีปัญหากับรายการที่หายไปในฐานข้อมูลอย่างแน่นอน
comment = Comment.objects.get(pk=comment_id)
ตรวจสอบ ID ที่มีอยู่ในฐานข้อมูล