summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--django/contrib/admin/options.py1
-rw-r--r--django/contrib/admin/templatetags/admin_modify.py4
-rw-r--r--django/db/models/base.py2
-rw-r--r--django/db/models/options.py4
4 files changed, 6 insertions, 5 deletions
diff --git a/django/contrib/admin/options.py b/django/contrib/admin/options.py
index 035c3684d7..1788a712d8 100644
--- a/django/contrib/admin/options.py
+++ b/django/contrib/admin/options.py
@@ -37,6 +37,7 @@ class ModelAdmin(object):
list_display_links = ()
list_filter = ()
date_hierarchy = None
+ save_as = False
def __init__(self, model):
self.model = model
diff --git a/django/contrib/admin/templatetags/admin_modify.py b/django/contrib/admin/templatetags/admin_modify.py
index fcb5876b0c..5c9009ea4e 100644
--- a/django/contrib/admin/templatetags/admin_modify.py
+++ b/django/contrib/admin/templatetags/admin_modify.py
@@ -41,8 +41,8 @@ def submit_row(context):
and 'onclick="submitOrderForm();"' or ''),
'show_delete_link': (not is_popup and context['has_delete_permission']
and (change or context['show_delete'])),
- 'show_save_as_new': not is_popup and change and opts.admin.save_as,
- 'show_save_and_add_another': not is_popup and (not opts.admin.save_as or context['add']),
+ 'show_save_as_new': not is_popup and change and opts.ModelAdmin.save_as,
+ 'show_save_and_add_another': not is_popup and (not opts.ModelAdmin.save_as or context['add']),
'show_save_and_continue': not is_popup and context['has_change_permission'],
'show_save': True
}
diff --git a/django/db/models/base.py b/django/db/models/base.py
index bcdc1185a0..a9c1f96e0a 100644
--- a/django/db/models/base.py
+++ b/django/db/models/base.py
@@ -137,7 +137,7 @@ class Model(object):
# of ModelAdmin.
cls._meta.ModelAdmin = type('ModelAdmin', (value, ModelAdmin), {})
# This AdminOptions stuff is legacy and will eventually be removed.
- value = AdminOptions(**dict([(k, v) for k, v in value.__dict__.items() if not k.startswith('_') and k not in ('list_display', 'list_display_links', 'list_filter', 'date_hierarchy')]))
+ value = AdminOptions(**dict([(k, v) for k, v in value.__dict__.items() if not k.startswith('_') and k not in ('list_display', 'list_display_links', 'list_filter', 'date_hierarchy', 'save_as')]))
value.contribute_to_class(cls, name)
elif hasattr(value, 'contribute_to_class'):
value.contribute_to_class(cls, name)
diff --git a/django/db/models/options.py b/django/db/models/options.py
index ae26e5f009..a5d2472b8e 100644
--- a/django/db/models/options.py
+++ b/django/db/models/options.py
@@ -200,11 +200,11 @@ class Options(object):
class AdminOptions(object):
def __init__(self, fields=None, js=None,
- save_as=False, ordering=None, search_fields=None,
+ ordering=None, search_fields=None,
save_on_top=False, list_select_related=False, manager=None, list_per_page=100):
self.fields = fields
self.js = js or []
- self.save_as, self.ordering = save_as, ordering
+ self.ordering = ordering
self.search_fields = search_fields or []
self.save_on_top = save_on_top
self.list_select_related = list_select_related