让我首先提出模型,这将更容易解释我的问题
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之一
答案 0 :(得分:0)
是的,你可以这样做:
result = B.objects.all().order_by('fk__points')[:3]