2 つのフィールドの合計でクエリセットを並べ替えたい。
基本的に、モデルのデフォルトの並べ替え順序を次のように変更したい:(これは機能しません)
class Meta:
ordering = ('-my_property_but_not_field', 'my_another_field')
my_property_but_not_field
モデルの 2 つのフィールドを合計します。
以下を使用するソリューションを見てきました。
extra
: Django order_by sum of fields
annotate
:集計フィールド値で QuerySet を
manager
並べ替えます: Django でのカスタム順序付け
extra
と を使用するとannotate
、新しい並べ替え順序が必要なすべてのコードを変更する必要があります。
ではmanager
、そのような問題はありません。
しかし、order_by_1、order_by_2 をエミュレートする方法がわかりません。