我最近将我的项目发布到生产级别,但突然间我遇到了一些在开发阶段从未遇到过的问题。
当用户提交某些操作时,有时会出现以下错误。
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在数据库中是否存在。 - karthikr