2017-01-22 225 views
1

我有一些Django模型,我怎样才能order_by表中的数据取决于字段值。对于例如当名称为“status”的字段的值为'10'时,执行ASC,当状态值等于'20'时,执行DESC。需要在单个查询中完成。 我第一次来这里,对不起,如果我说错了什么。谢谢。Django中的多个order_by条件

+0

欢迎堆栈溢出!请查看我们的[SO问题清单](http://meta.stackoverflow.com/questions/260648/stack-overflow-question-checklist)来帮助你提出一个好问题,从而得到一个很好的答案。 –

回答

1

您可以使用conditionsorder_by这样的:

from django.db.models import Case, When 

Model.objects.order_by(Case(When(status='10', then='some_field')), Case(When(status='20', then='some_field')).desc()) 
+0

非常感谢,正是我需要的! –