B
正如您所建议的,我认为最简单的方法是在 django admin 中更改用于模型的模型表单。
要更改表单字段的初始值,您可以重新定义该字段,或覆盖该__init__
方法。
class BForm(forms.ModelForm):
# either redefine the boolean field
boolean_field = models.BooleanField(initial=False)
class Meta:
model = B
# or override the __init__ method and set initial=False
# this is a bit more complicated but less repetitive
def __init__(self, *args, **kwargs):
super(BForm, self).__init__(*args, **kwargs)
self.fields['boolean_field'].initial = False
在 django 管理员中使用您的自定义模型表单很容易!
class BAdmin(admin.ModelAdmin):
form = BForm
admin.site.register(B, BAdmin)