2012-09-02 117 views
1

我在使用django查詢時遇到了一些困難。基本上我正在嘗試執行Tutor_info(用戶,聯繫人等)和UserProfile(用戶,點等)之間的內部連接,該連接由「用戶」列加入。結果將按照UserProfile中'points'列的降序排列,從而生成一個有序的Tutor_info對象列表。Django內部連接

我不確定如何使用另一個表 - UserProfile表上的屬性來生成Tutor_info列表的排序。

我應該做一些事情如下?

tutors_list = Tutor_info.objects.all() 
for t in tutors_list: 
    UserProfile.objects.filter(user=t.user) 
    ??? 

回答

5

Django的做內加入隱含如果您嘗試通過在國外柱過濾/訂單。因此,這將工作:

tutors_list = Tutor_info.objects.all().order_by('-user__points') 

或者這個,如果你通過auth.User模型加入(感謝丹尼爾·羅斯曼):

tutors_list = Tutor_info.objects.all().order_by('-user__userprofile__points') 
+1

不完全是,因爲'points'是'UserProfile',不'用戶'。認爲你需要'user__userprofile__points'。 –

+0

@DanielRoseman:可能,但沒有說明:)很難說哪一個是正確的,我會加兩者來確定。 – Wolph

+0

嗨非常感謝!使用'user__userprofile__points'工作。 :-) –