diff options
Diffstat (limited to 'django/forms')
| -rw-r--r-- | django/forms/models.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/django/forms/models.py b/django/forms/models.py index 837da74814..e2d739fd1a 100644 --- a/django/forms/models.py +++ b/django/forms/models.py @@ -678,7 +678,11 @@ class BaseModelFormSet(BaseFormSet): else: qs = self.model._default_manager.get_query_set() qs = qs.using(form.instance._state.db) - form.fields[self._pk_field.name] = ModelChoiceField(qs, initial=pk_value, required=False, widget=HiddenInput) + if form._meta.widgets: + widget = form._meta.widgets.get(self._pk_field.name, HiddenInput) + else: + widget = HiddenInput + form.fields[self._pk_field.name] = ModelChoiceField(qs, initial=pk_value, required=False, widget=widget) super(BaseModelFormSet, self).add_fields(form, index) def modelformset_factory(model, form=ModelForm, formfield_callback=None, |
