FWIW, I allow myself to broadcast this info here too, since it's a very transversal subject which might concern any Django user ^_^
The latest release of
Django-Compat-Patcher, 0.10, now includes 67 compatibility shims ranging from Django 1.6 to 3.1
If you encounter conflicting requirements between your Django pluggable apps, you may just drop the django compatibility patcher into your project, install a recent Django version, and keep things working together until compatibility troubles are solved.
As a proof-of-concept, the
Pychronia alternate reality portal is kept
fully functional on Django 3.1.5, while still having Django 1.10
constructs like "views as dotted strings" (but for your
own projects, alternative tools like django-compat or django-codemod can
help you migrate your codebase).
Please get in touch if some
compatibility shims are missing, or refuse to work - PRs are welcome too.
regards,
Pascal Chambon
Project homepage :
https://github.com/pakal/django-compat-patcher
PS: latest versions of Pip, with stricter dependency solver, might
block on theoretical dependency conflicts even though
Django-Compat-Patcher solved them; then you might have to keep using an
older Pip version, or bypass the Pip dependency resolver, until some
escape hatches are implemented.