diff options
Diffstat (limited to 'django/contrib/contenttypes/admin.py')
| -rw-r--r-- | django/contrib/contenttypes/admin.py | 32 |
1 files changed, 14 insertions, 18 deletions
diff --git a/django/contrib/contenttypes/admin.py b/django/contrib/contenttypes/admin.py index dd20249e62..d1790258af 100644 --- a/django/contrib/contenttypes/admin.py +++ b/django/contrib/contenttypes/admin.py @@ -92,11 +92,7 @@ class GenericInlineModelAdmin(InlineModelAdmin): fields = kwargs.pop('fields') else: fields = flatten_fieldsets(self.get_fieldsets(request, obj)) - if self.exclude is None: - exclude = [] - else: - exclude = list(self.exclude) - exclude.extend(self.get_readonly_fields(request, obj)) + exclude = [*(self.exclude or []), *self.get_readonly_fields(request, obj)] if self.exclude is None and hasattr(self.form, '_meta') and self.form._meta.exclude: # Take the custom ModelForm's Meta.exclude into account only if the # GenericInlineModelAdmin doesn't define its own. @@ -104,20 +100,20 @@ class GenericInlineModelAdmin(InlineModelAdmin): exclude = exclude or None can_delete = self.can_delete and self.has_delete_permission(request, obj) defaults = { - "ct_field": self.ct_field, - "fk_field": self.ct_fk_field, - "form": self.form, - "formfield_callback": partial(self.formfield_for_dbfield, request=request), - "formset": self.formset, - "extra": self.get_extra(request, obj), - "can_delete": can_delete, - "can_order": False, - "fields": fields, - "min_num": self.get_min_num(request, obj), - "max_num": self.get_max_num(request, obj), - "exclude": exclude + 'ct_field': self.ct_field, + 'fk_field': self.ct_fk_field, + 'form': self.form, + 'formfield_callback': partial(self.formfield_for_dbfield, request=request), + 'formset': self.formset, + 'extra': self.get_extra(request, obj), + 'can_delete': can_delete, + 'can_order': False, + 'fields': fields, + 'min_num': self.get_min_num(request, obj), + 'max_num': self.get_max_num(request, obj), + 'exclude': exclude, + **kwargs, } - defaults.update(kwargs) if defaults['fields'] is None and not modelform_defines_fields(defaults['form']): defaults['fields'] = ALL_FIELDS |
