首先,免责声明:我使用django-mongodb,可能我观察到的问题是由于不同的db驱动程序造成的。无论如何,调用MyModel.object.create()似乎实际上创建了一个数据库条目。这与django文档相反,该文档声明“注意到,实例化模型绝不涉及数据库; for that, you need to save().”来源。下面是一个示例:
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()确实“触摸了数据库”。有什么办法可以防止这种行为吗?
发布于 2014-02-10 23:44:40
这就是人们所期望的行为。create在数据库中创建一个记录。您引用的文档段落指的是在内存中实例化模型:
my_instance = MyModel(email='test')https://stackoverflow.com/questions/21690040
复制相似问题