我需要通过两个不同的因素对 Django 管理员更改列表视图的查询集进行排序:order_time 和 status。
对结果查询集进行排序时,应通过减少 order_timeitem.status == 3
对列表底部具有 ( ) 的所有项目进行排序。本质上,我试图将所有已完成的订单推到列表的底部,而不管它们的order_time
.
这是模型的样子:
def Order(models.Model);
order_time = models.DateTimeField(null=True)
status = models.PositiveSmallIntegerField(choices=ORDER_STATUS, default=ORDER_RECEIVED)
我已经将查询集与 itertools.chain 组合在一起,但由于我是为 django 更改列表视图执行此操作,因此我特别需要返回一个查询集。
我可以为此使用管理器吗?或者他们是一种执行自定义 SQL 的方法,可以相应地对 qs 进行预排序?
这是订单查询集的示例:
ORDER ORDER_TIME 状态 3 12/3 2 8 月 12 日 5 日 2 1 12/6 1 7 月 12 日 2 日 3 2012 年 11 月 10 日 3