Upgrade Django?

How to upgrade Django to the latest stable version?
I am using Django 1.11.17 , python 2.7 and I want to upgrade to the latest Django version 4.1.7, python 3.11.2.
Can I upgrade directly to this version? or I have to upgrade sequentially from 1.11.17 => 2.x => 3.x => 4x
Do you know any guide/tutorial to upgrade?
Thanks

I would say you can update directly, the thing is there are lot of versions between, even you are changing the language. I suggest you to add tests and move gradually.

1 Like

It is possible to make the jump directly, but most people around here tend to recommend the more incremental approach.

The advantage you get by taking this in steps is that you can see the deprecation warnings at each step to help you identify what needs to be changed along the way.

Depending upon how intricate your code is, you’re likely to have as big an issue with the Python 2 → Python 3 conversion as anything else, so it’s really helpful to be able to make that transition without also changing Django versions.

Also note that in addition to the Django upgrades, you’re also going to be upgrading some number of dependent libraries that may also require code changes. It’s also possible that one or more of those libraries may no longer be supported and require you to find substitutes.

For any project of substantial size, be prepared for a lot of work. (It may not turn out to be all that much, but I wouldn’t bet on that.)

1 Like

Maybe this can help you: /… /adamchainz/django-upgrade

2 Likes

I’d suggest to move to the last python version accepted by Django 1.x, then migrate to Django 2.x, then upgrade to the last python version accepted by Django 2.x, then migrate to Django 3.x and so on. The trick is to alternate between upgrading Django versions and Python version to face just a few issues at the time.

1 Like