私はついにプロジェクトを本番レベルにリリースしましたが、突然、開発段階で対処する必要がなかったいくつかの問題が発生しました。
ユーザーがいくつかのアクションを投稿すると、次のエラーが発生することがあります。
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)