在Django .delete()中,是否可以检索被删除对象的'id'字段?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Django .delete()中,是否可以检索被删除对象的'id'字段?相关的知识,希望对你有一定的参考价值。
当执行下面的查询时,是否有一个机制来返回被删除对象的'id'列表?
>>> MyModel.objects.all().delete()
>>> (430, {'myapp': 430})
答案
我认为这是不可能的,除非你一个一个的删除对象。来自文档:
请记住,只要有可能,这将纯粹在SQL中执行,因此在这个过程中不一定会调用各个对象实例的delete()方法。
手段 MyModel.objects.all().delete()
(或批量删除操作)将在SQL级别执行,所以不会调用每个对象。
如果你想一个一个的删除对象,那么你可以尝试这样做。
deleted = []
for item in MyModel.objects.all():
deleted.append(item.id)
item.delete()
print(deleted)
但这是非常低效的解决方案,不推荐使用。
以上是关于在Django .delete()中,是否可以检索被删除对象的'id'字段?的主要内容,如果未能解决你的问题,请参考以下文章