Move all Django Evolution settings into a DJANGO_EVOLUTION dictionary.

Review Request #12218 — Created March 30, 2022 and submitted — Latest diff uploaded

Information

Django Evolution
release-2.x

Reviewers

In an effort to better namespace Django Evolution settings and keep them
manageable, this change introduces a new settings.DJANGO_EVOLUTION
dictionary. Currently, this supports CUSTOM_EVOLUTIONS and ENABLED
keys, but will later include a CUSTOM_MIGRATIONS setting.

The old settings.DJANGO_EVOLUTION_ENABLED and settings.CUSTOM_EVOLUTIONS
are still supported, but will emit a deprecation warning.

All settings are now accessed through a new
django_evolution.conf.django_evolution_settings object, which is an
instance of DjangoEvolutionSettings. This manages loading settings (both
modern and legacy), defaults, and responding to Django's settings_changed
signal.

Unit tests pass on all versions of Django and Python.

Manually tested the values by tweaking Django settings and running management
commands.

Commits

Files