Błąd Django - pasujące zapytanie nie istnieje
W końcu wydałem swój projekt na poziom produkcji i nagle mam pewne problemy, z którymi nigdy nie miałem do czynienia w fazie rozwoju.
Kiedy użytkownicy publikują niektóre działania, czasami otrzymuję następujący błąd.
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
To, co naprawdę mnie frustruje, to fakt, że projekt działa dobrze w środowisku lokalnym, a ponadto pasujący obiekt zapytania istnieje w bazie danych.
Teraz podejrzewam, że użytkownik uzyskuje dostęp do bazy danych, gdy jest zarezerwowany dla innych użytkowników, ale nie ma sposobu na udowodnienie mojego argumentu, ani nie mam na to żadnego rozwiązania.
Czy ktoś miał wcześniej taki problem? Wszelkie sugestie dotyczące rozwiązania tego problemu?
Z góry dziękuję za pomoc.
EDYTUJ: Przepytałem ręcznie bazę danych przy użyciu tych samych informacji, które otrzymałem z otrzymanego przeze mnie e-maila z błędem serwera. Udało mi się wejść bez problemu. Co więcej, wygląda na to, że dokładnie to samo zachowanie, które wykonał użytkownik, nie powoduje większego problemu, ale raczej w niektórych (jeszcze nieznanych) przypadkach. Podsumowując, z pewnością nie jest problemem brakujący wpis w bazie danych.