0

所以我有一些这样的代码:

objects_list = A.objects.filter(some_param = some_value)

for obj in objects_list:
    object = B.objects.get(pk=obj.another_param)
    #do stuff with the B object

有没有办法将它组合成一个查询或其他东西?如何?谢谢!

4

1 回答 1

0

你可以做:

a_qs = A.objects.filter(some_param=some_value).values_list('another_param', flat=True)
b_qs = B.objects.filter(pk__in=a_qs)

for b in b_qs:
    #do stuff with b

或者,如果您想合并:

b_qs = B.objects.filter(pk__in=A.objects.filter(some_param=some_value).values_list('another_param', flat=True))

for b in b_qs:
    #do stuff with b
于 2013-07-09T04:05:10.880 回答