From ce37f630f139cf4a71f60a5af095072b03f5b259 Mon Sep 17 00:00:00 2001 From: mandalay-rp <67823609+mandalay-rp@users.noreply.github.com> Date: Wed, 18 Nov 2020 19:10:31 +0300 Subject: [PATCH] changes for get_inconsistent_fieldnames(): fields_list can be a dictionary, when a fieldset is defined as collapsible (#433) Co-authored-by: dalay --- constance/checks.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/constance/checks.py b/constance/checks.py index 4f47d30..5affbfe 100644 --- a/constance/checks.py +++ b/constance/checks.py @@ -2,7 +2,6 @@ from django.core import checks from django.utils.translation import ugettext_lazy as _ - @checks.register("constance") def check_fieldsets(*args, **kwargs): """ @@ -38,8 +37,11 @@ def get_inconsistent_fieldnames(): field_name_list = [] for fieldset_title, fields_list in settings.CONFIG_FIELDSETS.items(): - for field_name in fields_list: - field_name_list.append(field_name) + # fields_list can be a dictionary, when a fieldset is defined as collapsible + # https://django-constance.readthedocs.io/en/latest/#fieldsets-collapsing + if isinstance(fields_list, dict) and 'fields' in fields_list: + fields_list = fields_list['fields'] + field_name_list += list(fields_list) if not field_name_list: return {} return set(set(settings.CONFIG.keys()) - set(field_name_list))