【发布时间】:2012-12-20 01:55:00
【问题描述】:
我需要按两个不同的因素对 Django 管理员更改列表视图的查询集进行排序:order_time 和 status。
当排序时,结果查询集应该通过减少 order_time 来排序,所有在列表底部有 (item.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【问题讨论】:
标签: django django-admin django-queryset