J'ont des vues:modèles Django: comportement inattendu
def finish_creation(request, pre_id):
pre_post = PrePost.objects.get(pk = pre_id)
if pre_id == pre_post.id:
this = Post.objects.create(
author = pre_post.author,
title = pre_post.title,
text = pre_post.text
)
this.pswd = some_password
this.save()
pre_post.delete()
return HttpResponseRedirect(this.get_absolute_url())
Explication: utilisateur non autorisé (auteur) peut écrire des messages sur le site, mais d'abord crée une pre_post temporaire dans la base de données et envoie un courrier électronique à l'auteur avec lien dans ce activer (transférer temporairement pre_post à poste permanent). Après suivre un lien crée Post à partir des éléments PrePost, PrePost supprime de la base de données et l'utilisateur redirige automatiquement vers sa publication.
Mais il y a erreur: Pre_Post matching query does not exist.
Mais tout le reste est OK:
1) Poste crée parfaitement,
2) Pre_post supprime parfaitement,
et seulement return HttpResponseRedirect(this.get_absolute_url())
doesn ne fonctionne pas ...
Cependant, erreur page se réfère à la première ligne dans les vues pre_post = PrePost.objects.get(pk = pre_id)
Comment cela pourrait-il être?
Merci.
ÉDITÉ:
Mais quand je ne l'ai pas supprimer pre_post
tout a bien fonctionné comme prévu (sauf suppression de pre_post). Quel est le problème avec cette suppression()?
Oui, je comprends, mais si je dois le faire, ce qui peut se tromper dans mon code? –