django自定义`default` order by

时间:2013-06-12 08:39:50

标签: django

我想通过两个字段的总和来命令queryset 基本上,我想更改这样的模型的默认排序顺序:(这不起作用)

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

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

我见过使用过的解决方案:

extraDjango order_by sum of fields
annotateOrder a QuerySet by aggregate field value
managerCustom ordering in Django

使用extraannotate,我必须更改每个需要新排序顺序的代码。

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

1 个答案:

答案 0 :(得分:0)

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