Use of new Settings.is_overridden() method breaks if settings.configure() is used
|Reported by:||Carl Meyer||Owned by:||nobody|
|Has patch:||no||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
There are two ways to set up Django's settings; one is by passing a settings module to the
Settings class, and the other is to call
django.conf.settings.configure() with keyword arguments.
In d818e0c9b2b88276cc499974f9eee893170bf0a8 (the new checks framework) a new
is_overridden method was added to
Settings, and in the "check_1_6_compatibility" check, it is called on
django.conf.settings. But if
settings.configure() was used,
django.conf.settings is not wrapping a
Settings instance, it is wrapping a
UserSettingsHolder instance. And thus the "check_1_6_compatibility" check dies with "AttributeError: 'module' object has no attribute 'is_overridden'".