【发布时间】:2016-02-03 06:07:31
【问题描述】:
我必须在我的代码中进行自定义排序,
考虑下面的例子:
class Car(models.Model):
type
brand
每当我使用品牌订购时,我都会得到以下查询集
cars = ["Benz","BMW","Ford","Honda","Suzuki"]
我需要按品牌排序,其中“BMW”应该总是像下面的查询集一样,
cars = ["Benz","Ford","Honda","Suzuki", "BMW"]
注意:我不想将其用作/转换为列表。我需要在 order by 之后对此进行一些查询集操作(如 values_list)。
【问题讨论】:
-
您必须使用自定义 SQL。看到这个答案:stackoverflow.com/a/18238896/3224008
-
把宝马放在最后的逻辑是什么?还是只是个人喜好?
-
在模型中添加一个额外字段为 go_last 并按 go_last 排序,然后按品牌排序
标签: python django django-queryset