Django - 查询更新可以删除现有记录吗?

时间:2011-11-15 18:45:42

标签: django django-views django-queryset

在我的views.py中,我有类似的东西:

 a = Profile.objects.get(user=request.user.id)
 a.avatar = avatar.id
 a.save()

据我所知,当我执行save()时,如果已经存在具有该特定用户ID的记录,则应该使用avatar.id更新现有记录。

我不确定为什么但是当我运行上面的代码时,现有记录会被删除。我这样做了吗?

1 个答案:

答案 0 :(得分:0)

发现答案是否

我使用了manage.py shell并运行了上面的代码并且它没有删除记录。但是我发现它上面的另一个代码正在造成损害。

我有这样的事情:

avatar = Avatar.objects.create(user = a_user)
avatar.delete()

Profile模型与Avatar具有外键关系。所以当我做avatar.delete()时,我认为它只删除了阿凡达模型的记录,它也删除了相关的个人资料记录。