From bced16bfc723e5e7158e33200f6ed0f18ffeece0 Mon Sep 17 00:00:00 2001 From: Camilo Nova Date: Wed, 12 Oct 2016 16:09:18 -0500 Subject: [PATCH] Fixes #163 --- constance/admin.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/constance/admin.py b/constance/admin.py index 4d46d8c..a89f339 100644 --- a/constance/admin.py +++ b/constance/admin.py @@ -90,6 +90,13 @@ class ConstanceForm(forms.Form): default, help_text = options[0], options[1] if len(options) == 3: config_type = options[2] + if not isinstance(config_type, type(options[0])): + raise ImproperlyConfigured(_("Default value type must be " + "equal to declared config " + "parameter type. Please fix " + "the default value of " + "'%(name)s'.") + % {'name': name}) else: config_type = type(default) @@ -108,7 +115,8 @@ class ConstanceForm(forms.Form): def save(self): for name in settings.CONFIG: - setattr(config, name, self.cleaned_data[name]) + if getattr(config, name) != self.cleaned_data[name]: + setattr(config, name, self.cleaned_data[name]) def clean_version(self): value = self.cleaned_data['version']