1

django クエリの使用に問題があります。基本的に、「ユーザー」列で結合された Tutor_info(ユーザー、連絡先など) と UserProfile(ユーザー、ポイントなど) の間の内部結合を実行しようとしています。結果は、UserProfile の「ポイント」列によって降順で並べられ、順序付けられた Tutor_info オブジェクト リストが生成されます。

別のテーブル (UserProfile テーブル) の属性を使用して Tutor_info リストの順序を作成する方法がわかりません。

次のようにする必要がありますか?

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

1 に答える 1

5

Django は、外部列でフィルタリング/並べ替えを試みると、暗黙的に内部結合を行います。したがって、これは機能します:

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

または、モデルを介して参加する場合は次のようになりますauth.User(Daniel Roseman に感謝):

tutors_list = Tutor_info.objects.all().order_by('-user__userprofile__points')
于 2012-09-02T16:41:38.200 に答える