0

我想从数据库中的表中删除所有记录,并在每次运行 python 脚本时重新填充。

据我所知,当您制作 django 查询集时,它只是一个尚未在 DB 上触发的查询集,并且仅当我调用 len() 之类的函数或函数退出时才会触发该查询集(在 DB 上执行)。

obj = table.objects.filter(name="abc")

len(obj)

我的问题是

table.objects.all().delete()

django 遇到.delete()或等待函数退出时是否立即在 DB 上触发查询?

4

1 回答 1

0

如果autocommitTrue(默认),则delete()直接触发。

请注意,django 1.6 在transactions方面有一些重大变化。

于 2013-09-06T06:20:16.467 回答