我想通过两个字段的总和来命令queryset 基本上,我想更改这样的模型的默认排序顺序:(这不起作用)
class Meta:
ordering = ('-my_property_but_not_field', 'my_another_field')
my_property_but_not_field
将总结模型的两个字段。
我见过使用过的解决方案:
extra
:Django order_by sum of fields
annotate
:Order a QuerySet by aggregate field value
manager
:Custom ordering in Django
使用extra
和annotate
,我必须更改每个需要新排序顺序的代码。
manager
,我没有这样的问题
但我不知道如何模仿order_by_1,order_by_2。
答案 0 :(得分:0)
如果它适合您的用例,我只需将总和添加为新字段并在模型的save()
上更新它并删除该属性。