/ / djangoでModelChoiceFieldの追加ボタンを作成するには? - django、django-forms

djangoでModelChoiceFieldの追加ボタンを作成するには? - django、django-forms

IP そして System 1つの関係にあります。

私はカスタムフォームを作成しました

class SystemAdminForm(ModelForm):
address = ModelChoiceField(IP.objects.filter(system=None))

class Meta:
model = System

そして、それは私が今どのように使っているかです。

class SystemAdmin(ModelAdmin):
form = SystemAdminForm

私は2つのことが欲しい。

IP フィールドは表示されず、フィールドには+ボタンが表示されるべきです。

どうやってやるの?

ここに画像の説明を入力

class IPAdmin(ModelAdmin):
fields = ["name", "ip"]

def has_add_permission(self, request):
return True

class SystemAdmin(ModelAdmin):
form = SystemAdminForm

def has_add_permission(self, request):
return True

admin.site.register(System, SystemAdmin)
admin.site.register(IP, IPAdmin)

回答:

回答№1は1

私はこれがipフィールドを削除する解決策だと思う:

class Meta:
model = System
exclude = ["ip"]

+ボタンを使用して、この機能をAddressAdminでオーバーライドする必要があります

class AddressAdmin(ModelAdmin):
def has_add_permission(self, request):
return True
admin.site.register(Adress, AddressAdmin)