1

我在使用 django 查询时遇到了一些困难。基本上我正在尝试在 Tutor_info(user,contact,etc.) 和 UserProfile(user,points,etc.) 之间执行内部连接,该连接由“用户”列连接。结果将按 UserProfile 中的“points”列按降序排列,生成有序的 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 回答