J'ai finalement sorti mon projet au niveau de la production et j'ai soudainement des problèmes que je n'ai jamais eu à gérer en phase de développement.
Lorsque les utilisateurs publient des actions, j'obtiens parfois l'erreur suivante.
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
Ce qui me frustre vraiment, c'est que le projet fonctionne bien dans l'environnement local et en outre, l'objet de requête correspondant existe dans la base de données.
Maintenant, je soupçonne que l'utilisateur accède à la base de données lorsqu'elle est réservée à d'autres utilisateurs, mais il n'y a aucun moyen de prouver mon argument et je n'ai aucune solution.
Quelqu'un a-t-il déjà eu ce genre de problème? Des suggestions sur la façon de résoudre ce problème?
Merci beaucoup pour votre aide à l'avance.
EDIT: J'ai interrogé manuellement la base de données en utilisant les mêmes informations extraites de l'e-mail d'erreur du serveur que j'ai reçu. J'ai pu frapper l'entrée sans aucun problème. En outre, il semble que le même comportement que l'utilisateur a effectué ne soulève pas de problème la plupart du temps, mais plutôt dans certains cas (qui sont encore inconnus). En conclusion, ce n'est certainement pas un problème avec l'entrée manquante dans la base de données.
comment = Comment.objects.get(pk=comment_id)
vérifiez que l'identifiant existe dans la base de données