diff --git a/constance/admin.py b/constance/admin.py
index 2721b1a..80f3c04 100644
--- a/constance/admin.py
+++ b/constance/admin.py
@@ -233,8 +233,9 @@ class ConstanceAdmin(admin.ModelAdmin):
assert fields_exist, "CONSTANCE_CONFIG_FIELDSETS contains fields that does not exist"
config_values = []
- for name, options in settings.CONFIG.items():
- if name in fields_list:
+ for name in fields_list:
+ options = settings.CONFIG.get(name)
+ if options:
config_values.append(
self.get_config_value(name, options, form, initial)
)
diff --git a/tests/test_admin.py b/tests/test_admin.py
index 5ad5806..ec3139c 100644
--- a/tests/test_admin.py
+++ b/tests/test_admin.py
@@ -1,3 +1,4 @@
+import mock
from django.contrib import admin
from django.contrib.auth.models import User, Permission
from django.contrib.contenttypes.models import ContentType
@@ -58,3 +59,47 @@ class TestAdmin(TestCase):
response = self.options.changelist_view(request, {})
self.assertContains(response, 'LINEBREAK_VALUE')
self.assertContains(response, 'eggs
eggs')
+
+ @mock.patch('constance.admin.settings.CONFIG_FIELDSETS', {
+ 'Numbers': ('LONG_VALUE', 'INT_VALUE',),
+ 'Text': ('STRING_VALUE', 'UNICODE_VALUE'),
+ })
+ def test_fieldset_headers(self):
+ self.client.login(username='admin', password='nimda')
+ request = self.rf.get('/admin/constance/config/')
+ request.user = self.superuser
+ response = self.options.changelist_view(request, {})
+ self.assertContains(response, '