私はたくさん読んできましたが、これに対する解決策を見つけることができないようです。
私は Django でアプリケーションを書いていますが、まだ管理者側を書いています。
「環境」と呼ばれるモデルと「サーバー」と呼ばれるモデルがあります。特定の環境に複数のサーバーがあるなど、サーバーと環境の間には ForeignKey 関係があります。
管理インターフェイスで環境の「追加」フォームを変更する場合、インライン フォームを使用して、環境に関連付けられるサーバーのリストを次のように視覚化できます。
class ServerInline(admin.TabularInline):
model = Server
extra = 39
class EnvironmentAdmin(admin.ModelAdmin):
inlines = [ServerInline]
かなり単純ですよね?
私がやりたいことは、サーバーのインラインフォームにデフォルト値を事前入力することです.これを行うことで同じ値を事前入力することができました:
class ServerInlineAdminForm(forms.ModelForm):
class Meta:
model = Server
def __init__(self, *args, **kwargs):
super(ServerInlineAdminForm, self).__init__(*args, **kwargs)
self.initial['name']='Testing'
class ServerInline(admin.TabularInline):
form = ServerInlineAdminForm
model = Server
extra = 39
class EnvironmentAdmin(admin.ModelAdmin):
inlines = [ServerInline]
しかし、これは私が望むものではありません。リストにある 39 の異なる値で 39 のサーバー フォーム インスタンスを初期化できるようにしたいと考えています。それを行うための最良の方法は何でしょうか??
ありがとうございました!