我想通過兩個字段的總和來訂購queryset。
從本質上講,我想改變這樣的模式的默認排序順序:(不工作)django自定義`默認`訂單
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。
您的代碼與您的描述不符。這並不是a)按這些字段的總和排序,或者b)甚至工作,因爲您不能在訂單調用中使用非字段。 –
@Daniel:是的,這是一個問題,我不能在'排序'中使用非字段,但是如何使用其他方法實現相同的結果?我編輯了一下這個問題來澄清。 – eugene