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
一般而言,管理器类('对象')上的方法与数据库一起工作。 –