#30057: diffsettings leaves out custom default settings -------------------------------------+------------------------------------- Reporter: orlnub123 | Owner: nobody Type: Bug | Status: new Component: Core | Version: master (Management commands) | Keywords: diffsettings, Severity: Normal | settings Triage Stage: | Has patch: 1 Unreviewed | Needs documentation: 0 | Needs tests: 0 Patch needs improvement: 0 | Easy pickings: 0 UI/UX: 0 | -------------------------------------+------------------------------------- If you've manually configured the settings with default settings that differ from the default they won't show up if you run the diffsettings command. This is only observable on master as before 49b6793 the settings were forcefully setup, replacing the manually configured settings.
The reason this happens is because `module_to_dict` reads the settings from the `__dict__`. If you haven't manually configured your settings this is fine because the default wrapped settings object preassigns all settings to the `__dict__`. Since `UserSettingsHolder`, the class that wraps manually configured settings, relies on the `__dir__` + `__getattr__` pattern which allows the underlying default settings object to be dynamic it doesn't store settings from the default settings in its `__dict__`. -- Ticket URL: <https://code.djangoproject.com/ticket/30057> Django <https://code.djangoproject.com/> The Web framework for perfectionists with deadlines. -- You received this message because you are subscribed to the Google Groups "Django updates" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-updates+unsubscr...@googlegroups.com. To post to this group, send email to django-updates@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-updates/052.b893cca58cbf40a8e872b5a818c38bf0%40djangoproject.com. For more options, visit https://groups.google.com/d/optout.