【发布时间】:2014-02-01 13:30:42
【问题描述】:
我正在使用 django 1.4。但我不明白为什么Model.objects.create() 方法会在创造新价值的同时更新现有记录。
我使用Mode.objects.create() 尝试相同的case 但失败了,因为它还会更新现有记录。这似乎是 django ORM 架构的缺陷。
【问题讨论】:
-
您能提供更多信息吗?默认情况下,它不应该更新任何现有记录,除非有东西正在监听保存信号并为您修改它。
-
那么,成千上万的项目使用 Django,直到现在他们都没有发现这个巨大的错误?或者它可能是你的代码,你没有向我们展示,但它是由对框架一无所知的人编写的,这是有问题的?
-
这是我的错,因为我的模型上有一个通用的 post_save 信号来更新记录。非常抱歉责怪框架。
-
当我第一次被计算机工程系录取时,我们常常把我们遇到的所有错误都归咎于编译器(当时他们正在教我们 c++)。每次都证明是我们的错 :) 我只记得这一点。
标签: django django-models django-queryset