Django防止在Object.Create期间自动保存

时间:2014-02-10 23:26:30

标签: python django mongodb django-mongodb-engine

首先免责声明:我正在使用django-mongodb-engine,我观察的问题可能是因为不同的db驱动程序。无论如何,调用MyModel.object.create()似乎实际上创建了一个数据库条目。这与django文档相反,后者声明“请注意,实例化模型绝不会触及您的数据库 ; for that, you need to save().Source。这是一个例子:

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()确实“触摸了数据库”。有没有办法阻止这种行为?

1 个答案:

答案 0 :(得分:2)

这是预期的行为。 create在数据库中创建记录。您引用的文档段落是指在内存中实例化模型:

my_instance = MyModel(email='test')