【发布时间】:2017-09-06 04:09:52
【问题描述】:
我正在尝试检索某些用户创建并在我的 API 中显示的对象,但我需要由该用户对这些对象进行排序。如果使用 order_by('created_by') 查询集将按用户 id 排列(不一定是我想要的 id,而是降序排列),第一个结果必须是我的用户创建的 Opportunity,然后是其他结果。
我认为这可以解决,但 q 失去了联合的祝福:
def get_queryset(self):
user = self.request.user
q_all = Opportunity.objects.all().exclude(created_by=user.id)
q_user = Opportunity.objects.filter(created_by=user.id).exclude(archived=True)
q = q_user | q_all
return q
【问题讨论】:
-
您想按用户名订购?
-
可以是名称或 id,我只是想先显示用户的机会,而不是查询集中的其他人。
标签: django django-rest-framework django-queryset