Django1.8以降order_by() フィールド名
別の回答 列のデフォルトの照合をオーバーライドする方法の例を示しました。ここで役立つクエリ式は、 Func()> 、サブクラス化または直接使用できます:
nimi_et = Func(
'nimi',
function='et_EE',
template='(%(expressions)s) COLLATE "%(function)s"')
Test.objects.order_by(nimi_et.asc())
ただし、結果のSQLは次のようになることに注意してください。
SELECT nimi FROM test ORDER BY nimi COLLATE "et_EE" ASC;
つまり、照合はORDER BYで上書きされます SELECTではなく句 句。ただし、WHEREで使用する必要がある場合 句では、Func()を使用できます annotate()で 。