4

Django Model.objects.filter(condition = variable).order_by(textcolumn) クエリがオブジェクトを正しい順序で生成しない理由を調査し始めました。そして、それがデータベース(Postgresql)の問題であることがわかりました。

以前の質問 ( Postgresql sorting language specific characters ( collat​​ion ) ) で、次のようにデータベースクエリごとに照合を指定できることがわかりました (実際に動作させるにはzero323から多くの助けがありました)。

SELECT nimi COLLATE "et_EE" FROM test ORDER BY nimi ASC;

しかし、私が見る限り、 order_by はフィールド名のみを引数として受け入れます。

その機能を拡張して、照合パラメーターも含めることができるのであれば、私は疑問に思っていましたか? ミックスインなどを使用して何らかの方法でハッキングすることは可能ですか? それとも、機能リクエストが現在これを行う唯一の方法ですか?

私はそれが次のように機能することを望みます:

Model.objects.filter(condition = variable).order_by(*fieldnames, collation = 'et_EE')

Edit1:明らかにこれを求めるのは私だけではありません: https://groups.google.com/forum/#!msg/django-developers/0iESVnawNAY/JefMfAm7nQMJ

アラン

4

2 に答える 2

2

大丈夫。現在、Raw クエリがこれを行う唯一の方法のようです。

しかし、うまくいけば近いうちにクローズ/解決されるdjangoチケットがオープンしています。

于 2013-09-30T06:31:15.633 に答える