Django Change继承了表元类

Ale*_*lla 2 django django-forms

我想编辑Meta Class一个从a继承其数据的表单ModelForm.我想要的只是添加一个字段,我不想重复所有的表单.

# NuevaBibliotecaCompartida is a ModelForm

class EditarBibliotecaCompartida(NuevaBibliotecaCompartida):

    class Meta:
        fields = ('nombre', 'direccion', 'imagen', 'punto_google_maps')
Run Code Online (Sandbox Code Playgroud)

ModelForm has no model class specified当然,我得到了错误,因为我在添加字段时会覆盖Meta类.我怎么解决这个问题?

Dav*_*vid 9

如果您不想键入父表单类的字段,您也可以使用ParentClass.Meta.fields获取它们:

class Meta(NuevaBiblioteca.Meta):
    fields = NuevaBiblioteca.Meta.fields + ('YourAddedFormField',)
Run Code Online (Sandbox Code Playgroud)


sol*_*oke 6

您需要显式子类化父Meta类:

class Meta(NuevaBibliotecaCompartida.Meta):
    # `model` will now be inherited
    fields = ('nombre', 'direccion', 'imagen', 'punto_google_maps')
Run Code Online (Sandbox Code Playgroud)