2009-05-09 1 views
1

私はraw_id_fieldsを使用する管理クラスを持っています。数字キーを表示する代わりに、対応する外部キーオブジェクトのためにそれを__unicode__に変換したいと思います。ForeignKeyRawIdWidgetの正しい引数は何ですか?

私はこれを行う方法は、管理者クラスにフォームを追加することだと思った。このフォームは、私が変更したいフィールドが自分のウィジェットで上書きされるフォームです。

中間ステップとして、既存の動作を複製したいだけなので、生のIDフィールドは隣接するアイコンとともに表示されます。ウィジェットにForeignKeyRawIdWidgetのフォームがあります。このウィジェットは引数が必要ですが、私はそれを何を与えるべきか分かりません。例えばForeignKeyRawIdWidget(DBObjectName.objects.get(pk=53))を試しましたが、エラーDBObjectNameオブジェクトに 'to'属性がありません。

ウィジェットがto引数を必要としていることをrelated.pyの定義から見ることができますが、私はそれが何を探しているのかわかりません。

+0

これを行う正しい方法は、Selectのサブクラスであるウィジェットを定義して、レンダリングメソッドをオーバーライドすることだと思います。 – Mitch

答えて

0

Class._meta.get_field('field to link').relの形式で引数を探しています。

たとえば、画像というフィールドが別のクラスのForeignKeyであるPhotoというクラスがあります。そのForeignKeyのウィジェットが異なるようにしたいとします。 ForeignKeyRawIDWidgetがrelに必要とする引数はPhoto._meta.get_field('image').relです。

関連する問題