自動管理者を使って基本的なdjangoサイトを設定しましたが、 '+'ボタンを使って外部キー成分。しかし、植物は注文されていないので、私は以下のようにフォームフィールドをオーバーライドしなければなりませんでした。Django admin - adminフォームフィールドを無効にするときに、外部キーのポップアップ '+'が表示されない
これは、ポップアップを開いた '+'ボタンが欠落していることを意味します。これを再入力する簡単な方法か、外部キーのドロップダウンを注文するより良い方法はありますか?ありがとう。
class IngredientAdminForm(forms.ModelForm):
plant = forms.ModelChoiceField(queryset=Plant.objects.order_by('name'), required=False)
class Meta:
model = Ingredient
class IngredientAdmin(admin.ModelAdmin):
list_display = ('name', 'description', 'plant')
form = IngredientAdminForm
ありがとうございます。これは同様の方法でManyToManyフィールドにも可能ですか? – Runcible
多くのフィールドに 'formfield_for_foreignkey'を使うことはできませんが、' __init__'メソッドを上書きすることができます。 – Alasdair
上記のように 'super(IngredientAdmin、self).__ init __(* args、** kwargs)'行の 'super(type、obj):objは型またはインスタンスのサブタイプでなければなりません。ちょうど明確にするために、私は上記のフォーム= IngredientAdminFormを設定する必要はありませんか? – Runcible