Django - 在单个查询中限制foreignkey queryset

时间:2015-12-29 11:31:17

标签: django django-queryset

让我首先提出模型,这将更容易解释我的问题

Class A:
  points = Int

Class B:
  fk = ForignKey(A)

让我们假设我们有很多A和B对象

top_a = A.objects.all().order_by("points")[:3]
result = B.objects.filter(fk__in=list(top_a))

是否有可能获得与上述相同的结果,但是在单个查询中执行此操作?结果将是B的所有实例,其中fk与前三名中的A之一

1 个答案:

答案 0 :(得分:0)

是的,你可以这样做:

result = B.objects.all().order_by('fk__points')[:3]