我有一个包含以下列的表格“门票”
- id - 主键 - 自动递增
- 标题 - varchar(256)
- status - smallint(6) - 可以是 1 到 5 之间的任何值,由 Django 处理
当我执行 SELECT *
时,我希望 status = 4
在顶部的行,其他记录将跟随它们。可以通过以下查询来实现:
select * from tickets order by status=4 DESC
这个查询可以通过 Django ORM 执行吗? QuerySet.order_by()
方法应该传递哪些参数?
最佳答案
q = Ticket.objects.extra(select={'is_top': "status = 4"})
q = q.extra(order_by = ['-is_top'])
关于python - Django ORM 可以对列的特定值执行 ORDER BY 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2176346/