Django内部联接

Xin*_*hua 1 django

我在使用django查询时遇到了一些困难.基本上我正在尝试在Tutor_info(用户,联系人等)和UserProfile(用户,点等)之间执行内部联接,该联接由"用户"列连接.结果将按UserProfile中的"points"列按降序排序,生成有序的Tutor_info对象列表.

我不确定如何使用另一个表上的属性 - UserProfile表生成Tutor_info列表的排序.

我应该做以下事情吗?

tutors_list = Tutor_info.objects.all() 
for t in tutors_list:
    UserProfile.objects.filter(user=t.user)
    ???
Run Code Online (Sandbox Code Playgroud)

Wol*_*lph 5

如果您尝试在外部列上过滤/排序,则Django会隐式执行内部连接.所以这将有效:

tutors_list = Tutor_info.objects.all().order_by('-user__points')
Run Code Online (Sandbox Code Playgroud)

或者如果您加入该auth.User模型(感谢Daniel Roseman):

tutors_list = Tutor_info.objects.all().order_by('-user__userprofile__points')
Run Code Online (Sandbox Code Playgroud)