我有这样的模特:
class A(Model):
....
class B(Model):
a = ForeignKey(A, related_name="bbb")
class C(Model)
b = ForeignKey(B, related_name="ccc")
file = FileField( ... , null=True, blank=True)
在模板或视图中,我需要一个标记A行,如果某个与A相关的C对象有file = None(null)。 感谢。
答案 0 :(得分:2)
如果我理解正确,请尝试:
for a in A.objects.all():
for b in a.bbb.all():
for c in b.ccc.filter(file__isnull=True):
a.has_c_with_null_file = True
a.save()
OR
c_without_file = C.objects.filter(file__isnull=True)
for c in c_without_file:
c.b.a.has_c_with_null_file = True
c.b.a.save()
OR
A.objects.filter(b__c__file__isnull=True).update(has_c_with_null_file=True)
如果您不使用相关名称,请使用b_set和c_set。