Rag*_*age 3 django django-models
执行以下查询时,是否有一种机制可以返回已删除对象的“id”列表?
>>> MyModel.objects.all().delete()
>>> (430, {'myapp': 430})
Run Code Online (Sandbox Code Playgroud)
我认为除非你一一删除对象,否则这是不可能的。来自文档:
请记住,只要有可能,这将纯粹在 SQL 中执行,因此在此过程中不一定会调用各个对象实例的 delete() 方法
意味着MyModel.objects.all().delete()
(或批量删除操作)将在SQL级别执行,因此每个对象都不会被调用。
如果你想一一删除对象,那么你可以这样尝试:
deleted = []
for item in MyModel.objects.all():
deleted.append(item.id)
item.delete()
print(deleted)
Run Code Online (Sandbox Code Playgroud)
但这是非常低效的解决方案,不推荐。
归档时间: |
|
查看次数: |
1149 次 |
最近记录: |