0
首先免責聲明:我使用的是django-mongodb-engine,可能我觀察的問題是由於不同的db驅動程序。無論如何,似乎調用MyModel.object.create()實際上會創建一個數據庫條目。這與django文檔相反,它聲明「請注意,實例化模型絕不會觸及數據庫; for that, you need to save().
」Source。這裏有一個例子:Django防止Object.Create期間自動保存
In [4]: MyModel.objects.filter(email='test')
Out[4]: [<MyModel: MyModel object>]
In [5]: MyModel.objects.create(email='test')
Out[5]: <MyModel: MyModel object>
In [6]: MyModel.objects.filter(email='test')
Out[6]: [<MyModel: MyModel object>, <MyModel: MyModel object>]
正如你看到的上面,創建()確實「觸摸數據庫。」有什麼辦法可以防止這種行爲?
文檔的錯誤和可能是我的無知使我產生了巨大的痛苦。 :)我想.create()_was_你如何實例化一個對象!但是現在我明白了你寫的內容的不同之處,這正是我想要做的。謝謝! – James
一般而言,管理器類('對象')上的方法與數據庫一起工作。 –