diff options
| author | Simon Charette <charette.s@gmail.com> | 2013-02-05 05:39:35 -0500 |
|---|---|---|
| committer | Simon Charette <charette.s@gmail.com> | 2013-02-05 05:39:35 -0500 |
| commit | a097ee32d8364045a950d6a36b19630fc34397f1 (patch) | |
| tree | b57cf2b53431367308b82ed20c12616ba3fc8660 /django | |
| parent | ec469ade2b04b94bfeb59fb0fc7d9300470be615 (diff) | |
Fixed #17683 -- Make sure `BaseModelFormSet` respects defined widgets.
Diffstat (limited to 'django')
| -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, |
