Loading django/contrib/admin/options.py +2 −2 Original line number Diff line number Diff line Loading @@ -266,7 +266,7 @@ class ModelAdmin(BaseModelAdmin): if self.exclude is None: exclude = [] else: exclude = self.exclude exclude = list(self.exclude) defaults = { "form": self.form, "fields": fields, Loading Loading @@ -780,7 +780,7 @@ class InlineModelAdmin(BaseModelAdmin): if self.exclude is None: exclude = [] else: exclude = self.exclude exclude = list(self.exclude) defaults = { "form": self.form, "formset": self.formset, Loading django/forms/models.py +1 −0 Original line number Diff line number Diff line Loading @@ -528,6 +528,7 @@ def inlineformset_factory(parent_model, model, form=ModelForm, if fk.unique: max_num = 1 if exclude is not None: exclude = list(exclude) exclude.append(fk.name) else: exclude = [fk.name] Loading tests/regressiontests/inline_formsets/models.py +2 −0 Original line number Diff line number Diff line Loading @@ -51,5 +51,7 @@ Traceback (most recent call last): Exception: <class 'regressiontests.inline_formsets.models.Child'> has no field named 'test' # Regression test for #9171. >>> ifs = inlineformset_factory(Parent, Child, exclude=('school',), fk_name='mother') """ } tests/regressiontests/modeladmin/models.py +8 −0 Original line number Diff line number Diff line Loading @@ -124,6 +124,14 @@ displayed because you forgot to add it to fields/fielsets >>> ma.get_form(request).base_fields.keys() ['name', 'sign_date'] # You can also pass a tuple to `exclude`. >>> class BandAdmin(ModelAdmin): ... exclude = ('bio',) >>> ma = BandAdmin(Band, site) >>> ma.get_form(request).base_fields.keys() ['name', 'sign_date'] # Using `fields` and `exclude`. >>> class BandAdmin(ModelAdmin): Loading Loading
django/contrib/admin/options.py +2 −2 Original line number Diff line number Diff line Loading @@ -266,7 +266,7 @@ class ModelAdmin(BaseModelAdmin): if self.exclude is None: exclude = [] else: exclude = self.exclude exclude = list(self.exclude) defaults = { "form": self.form, "fields": fields, Loading Loading @@ -780,7 +780,7 @@ class InlineModelAdmin(BaseModelAdmin): if self.exclude is None: exclude = [] else: exclude = self.exclude exclude = list(self.exclude) defaults = { "form": self.form, "formset": self.formset, Loading
django/forms/models.py +1 −0 Original line number Diff line number Diff line Loading @@ -528,6 +528,7 @@ def inlineformset_factory(parent_model, model, form=ModelForm, if fk.unique: max_num = 1 if exclude is not None: exclude = list(exclude) exclude.append(fk.name) else: exclude = [fk.name] Loading
tests/regressiontests/inline_formsets/models.py +2 −0 Original line number Diff line number Diff line Loading @@ -51,5 +51,7 @@ Traceback (most recent call last): Exception: <class 'regressiontests.inline_formsets.models.Child'> has no field named 'test' # Regression test for #9171. >>> ifs = inlineformset_factory(Parent, Child, exclude=('school',), fk_name='mother') """ }
tests/regressiontests/modeladmin/models.py +8 −0 Original line number Diff line number Diff line Loading @@ -124,6 +124,14 @@ displayed because you forgot to add it to fields/fielsets >>> ma.get_form(request).base_fields.keys() ['name', 'sign_date'] # You can also pass a tuple to `exclude`. >>> class BandAdmin(ModelAdmin): ... exclude = ('bio',) >>> ma = BandAdmin(Band, site) >>> ma.get_form(request).base_fields.keys() ['name', 'sign_date'] # Using `fields` and `exclude`. >>> class BandAdmin(ModelAdmin): Loading