Django 更改继承的表单元 class
Django Change inherited form meta class
我想编辑从 ModelForm
继承其数据的表单的 Meta Class
。我只想添加一个字段,我不想重复所有表格。
# NuevaBibliotecaCompartida is a ModelForm
class EditarBibliotecaCompartida(NuevaBibliotecaCompartida):
class Meta:
fields = ('nombre', 'direccion', 'imagen', 'punto_google_maps')
当然,我收到错误 ModelForm has no model class specified
,因为我在添加字段时覆盖了 Meta class。我该如何解决这个问题?
您需要明确地 class parent 的 Meta
class:
class Meta(NuevaBibliotecaCompartida.Meta):
# `model` will now be inherited
fields = ('nombre', 'direccion', 'imagen', 'punto_google_maps')
如果您不想键入父表单的字段 class 您也可以使用 ParentClass.Meta.fields:
class Meta(NuevaBiblioteca.Meta):
fields = NuevaBiblioteca.Meta.fields + ('YourAddedFormField',)
我想编辑从 ModelForm
继承其数据的表单的 Meta Class
。我只想添加一个字段,我不想重复所有表格。
# NuevaBibliotecaCompartida is a ModelForm
class EditarBibliotecaCompartida(NuevaBibliotecaCompartida):
class Meta:
fields = ('nombre', 'direccion', 'imagen', 'punto_google_maps')
当然,我收到错误 ModelForm has no model class specified
,因为我在添加字段时覆盖了 Meta class。我该如何解决这个问题?
您需要明确地 class parent 的 Meta
class:
class Meta(NuevaBibliotecaCompartida.Meta):
# `model` will now be inherited
fields = ('nombre', 'direccion', 'imagen', 'punto_google_maps')
如果您不想键入父表单的字段 class 您也可以使用 ParentClass.Meta.fields:
class Meta(NuevaBiblioteca.Meta):
fields = NuevaBiblioteca.Meta.fields + ('YourAddedFormField',)