summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorMosson, Andrew <mossona@advisory.com>2014-12-14 05:22:37 +0200
committerTim Graham <timograham@gmail.com>2014-12-17 09:11:46 -0500
commitb7219c7ba5fdfbf9349948b5a91af50e32822ee6 (patch)
treee93d5bcee530db1b4a02c018efff880e62462d3e /django
parentc7786550c4ed396b8580db58f7da60e850894d19 (diff)
Fixed #23497 -- Made admin system checks run for custom AdminSites.
Diffstat (limited to 'django')
-rw-r--r--django/contrib/admin/checks.py7
-rw-r--r--django/contrib/admin/sites.py4
2 files changed, 5 insertions, 6 deletions
diff --git a/django/contrib/admin/checks.py b/django/contrib/admin/checks.py
index c15216ddd8..5cb9d1e462 100644
--- a/django/contrib/admin/checks.py
+++ b/django/contrib/admin/checks.py
@@ -11,12 +11,9 @@ from django.forms.models import BaseModelForm, _get_foreign_key, BaseModelFormSe
def check_admin_app(**kwargs):
- from django.contrib.admin.sites import site
+ from django.contrib.admin.sites import system_check_errors
- return list(chain.from_iterable(
- model_admin.check(model, **kwargs)
- for model, model_admin in site._registry.items()
- ))
+ return system_check_errors
class BaseModelAdminChecks(object):
diff --git a/django/contrib/admin/sites.py b/django/contrib/admin/sites.py
index 3a69afda4a..8b46a7e546 100644
--- a/django/contrib/admin/sites.py
+++ b/django/contrib/admin/sites.py
@@ -15,6 +15,8 @@ from django.utils.translation import ugettext_lazy, ugettext as _
from django.views.decorators.cache import never_cache
from django.conf import settings
+system_check_errors = []
+
class AlreadyRegistered(Exception):
pass
@@ -99,7 +101,7 @@ class AdminSite(object):
admin_class = type("%sAdmin" % model.__name__, (admin_class,), options)
if admin_class is not ModelAdmin and settings.DEBUG:
- admin_class.check(model)
+ system_check_errors.extend(admin_class.check(model))
# Instantiate the admin class to save in the registry
self._registry[model] = admin_class(model, self)