如果我有以下两种型号:
class A(model.Models):
name = models.CharField(max_length = 10)
class B(model.Models):
name = models.CharField(max_length = 10)
a = models.ForeignKey(A)
type = models.CharField(max_length = 10)
我想得到这样的A对象:
既然查询涉及两个管理器,即A.objects和A.b_set,我想知道如何一次进行查询。
我不想要两个查询集的交集,因为其中一个可能大到足以导致性能问题
答案 0 :(得分:0)
试试这个:
a_queryset = A.objects.filter(name='testa', b__name='testb').distinct()
基本上,型号名称的小写
distinct()
消除了任何重复的A
个对象