我有以下代码:
class MyModelForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(MyModelForm, self).__init__(*args, **kwargs)
self.fields['extra_field'] = forms.CharField(
label=_('Extra field'),
max_length=255
)
class Meta:
model = MyModel
fields = '__all__'
class MyModelInline(admin.StackedInline):
extra = 0
model = MyModel
form = MyModelForm
我添加的额外字段未显示在表单中。请注意,额外字段不是数据库中存在的字段。这只是专门针对此表单的内容。如何确保多余的字段以及所有其他数据库字段自动显示在表单中?我不想要一种必须手动提及self.fields属性中每个字段的方法。感谢您的帮助。
答案 0 :(得分:1)
我认为您无需覆盖 __init__()
方法,只需将字段设置为常规方式,
class MyModelForm(forms.ModelForm):
extra_field = forms.CharField(label=_('Extra field'), max_length=255)
class Meta:
model = Session
fields = '__all__'