I want to extend ModelForms with the main purpose of adding fields to the form. I think it is easier to see with an example:
# Basic listing
class BasicForm(ModelForm):
class Meta:
model = Business
fields = ('category', 'city', 'name', 'address',
'slogan', 'phone', 'website', 'email')
class SocialForm(BasicForm):
class Meta:
model = Business
fields = ('facebook','twitter')
Would that even work? Or would it just wipe out the other fields from BasicForm in SocialForm?
What is the correct way of doing this?
This is a late answer, but I wanted to note that you can subclass the inner
Metaclass like this:That way you don’t have to repeat the
model = Businessdefinition, and any otherMetaattributes you may add toBasicFormwill automatically be inherited bySocialForm.For reference, here’s the Django documentation on this approach.