为什么Model.objects.create()更新现有记录

时间:2014-02-01 13:30:43

标签: django django-models django-queryset

我正在使用 django 1.4 。但我不明白为什么Model.objects.create()方法在创建新值时更新现有记录。

我使用Mode.objects.create()尝试使用相同的case但失败了,因为它也更新了现有记录。它似乎是 django ORM 架构中的缺陷。

1 个答案:

答案 0 :(得分:2)

不应该是这种情况。 Model.objects.create不应该更新现有记录。我认为你在这里还有其他问题,可能是一个自定义create来做这个或django信号负责副作用。

要调试此问题,我建议您使用connection.queries查看从ipython或django shell发出的SQL类型。运行python manage.py shell并运行:

> from django.db import connection
> # Clear query list first
> connection.queries = []
> Model.objects.create()
> # See which queries are executed:
> print connection.queries