这是我的模特:
class A(models.Model):
#Some fields
class B(models.Model):
#Some fields
class C(models.Model):
a = models.ForeignKey(A)
b = models.ForeignKey(B)
#Some more fields
class Meta:
unique_together = ['a', 'b']
现在基于A的某个对象(例如'a'),我想要C.a ='a'和C.b ='b'的所有'b'的集合。
中存在条目的B对象集。
换句话说,获取a.c_set
目前我的操作方式是:
qset_c = C.objects.filter(a='a')
qset_b = [c.b for c in qset_c]
首先,这给了我一个列表(首选查询集)。
其次,我担心第2行具有列表理解功能,因为海量数据可能要花费很多时间。
有没有更好的方法来实现这一目标?
注意:我了解,声明有点不清楚。如果有人可以对其进行编辑以使其更清晰,那么它将很有帮助
答案 0 :(得分:1)
这会做什么?
set_c = C.objects.filter(a=a).values_list('b', flat=True)