No matter how much you try to delay and how many reasons you find to postpone, eventually the time comes. You need to update and upgrade your software, your system components, your apps, your dependencies, etc.
This happens to all computer users. On some systems, this is an enjoyable experience, on other systems as painful as it can get.
Most of the time, upgrading Django on our projects falls in the first category, due to its amazing documentation and huge community. Nevertheless, the upgrade path takes work and “now” rarely seems the right time to move forward with it, specially if you are jumping between LTS versions.
So, today’s tip is a mention of 2 packages that can help you reduce the burden of going through your codebase looking for the lines that need to be changed. They are:
Both of them do more or less the same thing, they will automatically detect the code that needs to be changed and then fix it according to the release notes. Attention, this is no excuse to avoid reading the release notes.
django-upgrade is faster and probably the best choice, but
django-codemod supports older versions of Python. Overall, it will depend on the situation at hand.
And this is it… I hope these libraries are as helpful to you as they have been to me.