2016-09-12 1 views
0

에 대한 올바른 장고의 검색어를 찾는 :문제가이 같은 두 가지 모델이이

class Foo(): 
    name = CharField 
    frequency = IntegerField 

class Bar(): 
    thing = ForeignKey(Foo) 
    content = TextField 

내가 Foo 객체의 범위으로 분류 Bar 객체가 될 것입니다 검색어 세트를 싶어. 분명히 작동하지 않지만 필요한 것을 보여줍니다. 내가 바로 당신이 달성하고자하는 무엇입니까 경우

Foo.objects.order_by('-frequency')[0:10].bar_set.all() 
+0

'Bar.objects.order_by ('- thing__frequency')'를? – Sayse

+0

그 문제는 나에게 10 개의 막대 개체 조각을 줄 것입니다. 각 bar 객체가 여러 개있는 10 개의 foo 객체 슬라이스를 기반으로 bar 객체가 필요합니다 – deltaskelta

+0

여러분의 질문은 "상위 10 개"주문 된 foo 객체의 bar 객체를 검색하는 것입니다. – Sayse

답변

1

,이 시도 :

objs = Bar.objects.filter(thing__pk__in=Foo.objects.all().order_by('-frequency').values_list('pk', flat=True)[:10]) 
+0

가장 효율적인 방법 인 것 같습니다. 감사합니다 – deltaskelta

+0

최고의 소원 친구;) – sebb