Нарешті я випустив свій проект на виробничий рівень, і раптом у мене виникли деякі проблеми, з якими мені ніколи не доводилося стикатися на етапі розробки.
Коли користувачі публікують деякі дії, я іноді отримую таку помилку.
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
Мене насправді розчаровує те, що проект чудово працює в локальному середовищі, а крім того, відповідний об’єкт запиту Є В БД.
Зараз я підозрюю, що користувач отримує доступ до бази даних, коли вона зарезервована для інших користувачів, але немає можливості довести мій аргумент, і я не маю жодного рішення для нього.
Хтось раніше мав подібні проблеми? Будь-які пропозиції щодо вирішення цієї проблеми?
Щиро вдячний Вам за допомогу.
EDIT: Я запитував базу даних вручну, використовуючи ту саму інформацію, отриману з повідомлення електронної пошти про помилку сервера, яке я отримав. Я зміг натиснути запис без жодної проблеми. Крім того, здається, що точно така сама поведінка, яку виконував користувач, більшість випадків не порушує жодної проблеми, а навпаки, у деяких (що поки невідомо) випадках. На закінчення, це точно не проблема з відсутнім записом у базі даних.
comment = Comment.objects.get(pk=comment_id)
переконайтесь, що ідентифікатор існує у базі даних