gpt4 book ai didi

python - 自定义 Django 管理操作,删除与foreignkey相关的条目

转载 作者:行者123 更新时间:2023-12-01 06:09:48 24 4
gpt4 key购买 nike

我有两个模型:

A(models.Model):
field = models.IntegerField()

B(models.Model):
f = models.ForeignKey(A)

在管理面板中,我有自定义操作,它会清除(重置)模型 A 中的一些信息:

def clear_something(modeladmin, request, queryset):
queryset.update(field=0)

如何使自定义操作 clear_something 删除所有相关的 Model B 条目?

最佳答案

假设查询集是一组 A,您应该能够循环它们并删除每个 A 的“b_set”(反向 FK 查找),如下所示:

def clear_something(modeladmin, request, queryset):
queryset.update(field=0)
for a in queryset:
a.b_set.all().delete()

或者,使用 B 的模型管理器:

def clear_something(modeladmin, request, queryset):
queryset.update(field=0)
for a in queryset:
B.objects.filter(f=a).delete()

关于python - 自定义 Django 管理操作,删除与foreignkey相关的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6479084/

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