Frequently Asked Questions
Common questions about upgrading Django projects and sites
- Is upgrading Django hard?
- Django is relatively easy to upgrade. There is a particular emphasis on backwards compatability. Often you only have to make a few changes to how you're using Django itself between each minor release.
- What's the hardest part of upgrading Django?
- You will spend the majority of your time upgrading the third party Django apps you are using. Third party apps typically use deeper aspects of Django's APIs that may have changed since you installed the app. Looking at the release notes for your third party dependencies is often the best way to determine what you need to update and to which version.
- What does Django LTS really mean?
- LTS stands for Long Term Support. It means the Django community has agreed to support this version with security and bug fixes for a period of 3 years after its initial release.
- Do I really need to upgrade?
- Yes, if you value security and safety in your Django site. Patch releases are trivial to upgrade almost never requiring changes to your code or dependencies.
- What is the differece between major, minor and patch releases?
- If we use the version X.Y.Z as an example. The Z denotes patch. Y, a minor release. And X, a major release. Patches are small security or bug fixes that should not require any changes on your part. Minor releases add new features and change existing features enough that you will likely need to adjust your code and dependencies a bit. Major releases are just that, major. You will almost certainly have to adjust your code and dependencies.
- Which version of Django is async?
- Async views and middleware were introduced in version 3.1. Django 4.0 added async for the cache system. Initial support for asynchronous ORM support was added in Django 4.1.
- Which version of Django was the last to support Python 2?
- Django 1.11 was the last version of Django to support Python 2. However, support for that version ended December 1st, 2017.