Django add extra field to a ModelForm generated from a Model

You can add a field to a ModelForm. Unless you add a field named temp_id to your model you do not need to change this form when you change you model.

Example (with a model named Point):

class PointForm (forms.ModelForm):
    temp_id = forms.IntegerField()

    class Meta:
        model = Point

    def save(self, commit=True):
        # do something with self.cleaned_data['temp_id']
        return super(PointForm, self).save(commit=commit)

UPDATE: Forgot self in def save() and changed modelname to Point

Leave a Comment