我有这样的观点:Django模型:意外的行为
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())
说明:未经授权的用户(作者)可以写上网站的帖子,但首先在数据库中创建一些临时pre_post和发送电子邮件,在它的链接创作激活(将临时pre_post转移到永久职位)。在按照链接创建Post从PrePost元素后,PrePost从数据库中删除,用户自动重定向到他的已发布帖子。
但有错误:Pre_Post matching query does not exist.
但一切是OK:
1)邮政创造完美,
2)Pre_post删除完美,
只有return HttpResponseRedirect(this.get_absolute_url())
没有按不工作...
但是,错误页面在视图中的第一行指向pre_post = PrePost.objects.get(pk = pre_id)
它怎么可能?
谢谢。
编辑:
但是,当我没有删除预期(除了pre_post的缺失)pre_post
一切正常。那个delete()有什么问题?
是的,我明白,但如果我需要的话,什么都可以错在我的代码? –