-1

我想通过两个字段的总和来订购查询集。
本质上,我想像这样更改模型的默认排序顺序:(这不起作用)

class Meta:
   ordering = ('-my_property_but_not_field', 'my_another_field')

my_property_but_not_field将总结模型的两个字段。

我见过使用以下解决方案:

extraDjango order_by 字段总和
annotate按聚合字段值对 QuerySet
manager排序:Django 中的自定义排序

使用extraand annotate,我将不得不更改每个需要新排序顺序的代码。

manager我没有这样的问题。
但我不知道如何模拟 order_by_1、order_by_2。

4

1 回答 1

0

如果它适合您的用例,我只需将总和添加为新字段并在模型上更新它save()并删除该属性。

于 2013-06-12T08:50:42.173 回答