summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorBrian Rosner <brosner@gmail.com>2008-09-02 17:26:24 +0000
committerBrian Rosner <brosner@gmail.com>2008-09-02 17:26:24 +0000
commitc1de41f4d29d15616075ffd474e3aba7adcfc64f (patch)
treef00fbc0995eb98d62438b58ae223d2b84cc0c2f3 /django
parent326b26656aa3770be99da88dd76e7eb9c73d1dc5 (diff)
Fixed #7973 -- Added exclude to BaseModelAdmin to make everything consistent with the form/formset factories. Refs #8071 to make it easier to get at exclude. Thanks julien for the patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8861 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django')
-rw-r--r--django/contrib/admin/options.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/django/contrib/admin/options.py b/django/contrib/admin/options.py
index f01edbcb28..ba48ded09a 100644
--- a/django/contrib/admin/options.py
+++ b/django/contrib/admin/options.py
@@ -31,6 +31,7 @@ class BaseModelAdmin(object):
"""Functionality common to both ModelAdmin and InlineAdmin."""
raw_id_fields = ()
fields = None
+ exclude = None
fieldsets = None
form = forms.ModelForm
filter_vertical = ()
@@ -262,9 +263,14 @@ class ModelAdmin(BaseModelAdmin):
fields = flatten_fieldsets(self.declared_fieldsets)
else:
fields = None
+ if self.exclude is None:
+ exclude = []
+ else:
+ exclude = self.exclude
defaults = {
"form": self.form,
"fields": fields,
+ "exclude": exclude + kwargs.get("exclude", []),
"formfield_callback": self.formfield_for_dbfield,
}
defaults.update(kwargs)
@@ -780,11 +786,16 @@ class InlineModelAdmin(BaseModelAdmin):
fields = flatten_fieldsets(self.declared_fieldsets)
else:
fields = None
+ if self.exclude is None:
+ exclude = []
+ else:
+ exclude = self.exclude
defaults = {
"form": self.form,
"formset": self.formset,
"fk_name": self.fk_name,
"fields": fields,
+ "exclude": exclude + kwargs.get("exclude", []),
"formfield_callback": self.formfield_for_dbfield,
"extra": self.extra,
"max_num": self.max_num,