したがって、クエリセットの追加フィールドを使用して、選択したクエリに列を追加できます。これをデフォルトの順序として設定できます。私はこれまでこれを達成することができました:追加のフィールドを作成し、それをデフォルトの順序として設定しました。
qs = qs.extra(select={'natname':"concat('0', nat, name)"}, order_by=['natname'])
これで、管理インターフェースに他のフィールドが{name, nat, location, space, ....}
あり、テーブルの結果natname
はページが読み込まれたときに並べ替えられます...完璧です。
しかし、今はname
フィールドでの注文を有効にしたいのですが、で注文するのではなく、で注文しname
たいと思いnatname
ます。これは可能ですか?
したがって、余分なフィールドですが、順序付けに関しては、どういうわけか列をnatname
バインドしたいと思います。name
natname
今のところ、そうすると、。qs.query.__str__()
を使用してSQLクエリを取得しますorder by natname
。列をクリックするとname
、順序がに変わりますがname
、この特別な場合のために、で順序付けてnatname
ください。これは可能ですか?
Djangoがこれらの自動管理ページのヘッダーとビューをどのように生成するかを見てきましたが、このモデルので定義され<django-installation-path>/contrib/admin
たセットのみを参照しています。そこで変更を加えると、管理ビューで表示される列が変更されます。list_display
ModelAdmin
少し紛らわしいように聞こえるかもしれません。特に詳しい情報が必要な場合は、お気軽にお問い合わせください。
ありがとう。