我有两个模型使用相同的类作为外键。
我不想删除父模型(用作外键),而是删除与父模型关联的子模型。
class A(models.Model):
pass
class B(models.Model):
a = models.ForeignKey(A, on_delete=models.CASCADE, default=None)
class C(models.Model):
a = models.ForeignKey(A, on_delete=models.CASCADE, default=None)
现在我将它们分别删除如下:
b_list = B.objects.filter(a = A)
for b_list_item in b_list:
b_list_item.delete()
c_list = C.objects.filter(a = A)
for c_list_item in c_list:
c_list_item.delete()
如何用一个命令将它们全部删除?
答案 0 :(得分:2)
我更喜欢这个批量删除选项,而不是遍历对象。
B.objects.filter(a=A).delete()
C.objects.filter(a=A).delete()