我在使用django查询时遇到了一些困难。基本上我正在尝试在Tutor_info(用户,联系人等)和UserProfile(用户,点等)之间执行内部联接,该联接由“用户”列连接。结果将按UserProfile中的“points”列按降序排序,生成有序的Tutor_info对象列表。
我不确定如何使用另一个表上的属性生成Tutor_info列表的排序 - UserProfile表。
我应该做以下事情吗?
tutors_list = Tutor_info.objects.all()
for t in tutors_list:
UserProfile.objects.filter(user=t.user)
???
答案 0 :(得分: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')