gpt4 book ai didi

django - 如何检查将在Django中级联删除哪些对象?

转载 作者:行者123 更新时间:2023-12-03 21:45:13 25 4
gpt4 key购买 nike

在Django的/ admin /部分,您可以选择删除项目。

如果将任何相关对象与所选对象一起删除,则在确认删除之前,您将看到受影响对象的列表。

我可以通过程序在自己的函数中进行检查吗?

我想做类似的事情

for item in Item.objects.all():
if not deletion_would_also_delete_other_objects(item):
item.delete()

最佳答案

您可以使用django.db.models.deletion import Collector进行此操作吗?

from django.db.models.deletion import Collector
from .models import Item

for item in Item.objects.all():
collector = Collector({})
collector.collect([item])

# dependencies should be an empty dict if the item is not related to anything
if not collector.dependencies:
item.delete()

关于django - 如何检查将在Django中级联删除哪些对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26807858/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com