141 votes

Erreur Django - la requête correspondante n'existe pas

J'ai finalement lancé mon projet au niveau de la production et j'ai soudainement rencontré des problèmes que je n'avais jamais eu à traiter pendant la phase de développement.

Lorsque les utilisateurs publient certaines actions, je reçois 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 que, de plus, l'objet de requête correspondant existe bien dans la base de données.

Maintenant, je soupçonne que l'utilisateur accède à la base de données alors qu'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 ? Avez-vous des suggestions sur la façon de résoudre ce problème ?

Je vous remercie d'avance pour votre aide.

EDIT : J'ai interrogé manuellement la base de données en utilisant les mêmes informations que celles récupérées dans le courriel d'erreur de serveur que j'ai reçu. J'ai pu atteindre l'entrée sans aucun problème. De plus, il semble que le même comportement que l'utilisateur a effectué ne pose pas de problème la plupart du temps, mais plutôt dans certains cas (qui sont encore inconnus). En conclusion, il ne s'agit certainement pas d'un problème d'entrée manquante dans la base de données.

0voto

westsidesamson Points 11

Je pense que le problème est qu'il y a des données qui ont été passées dans votre serveur de développement et qui ne seraient pas migrées vers votre serveur de production.

La chose la plus simple à faire sera de localiser ces dépendances sur votre base de données de production et de les fournir

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X