Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP


#17048:Add Docs for Guidelines for Upgrading an Existing Project's Django #1012

wants to merge 1 commit into from

2 participants


I created a checklist doc page to resolve ticket #17048 ( Feel free to code review.


Resolving ticket 17048: "Add Docs for Guidelines for Upgrading an Existing Project's Django". Feel free to code review.


Updated pull request: #1173

@timgraham timgraham closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Apr 13, 2013
  1. @onceuponatimeforever
This page is out of date. Refresh to see the latest.
Showing with 13 additions and 0 deletions.
  1. +13 −0 docs/howto/deployment/upgrade.txt
13 docs/howto/deployment/upgrade.txt
@@ -0,0 +1,13 @@
+A Short Checklist for Upgrading Your Django Project
+When upgrading your Django project from an older to a newer version, you might run into some hiccups. Here is a checklist of some issues to keep in mind:
+* First, you will need to :ref:`uninstall the old Django version before installing the new version <removing-old-versions-of-django>`. Then, proceed with installing the new version of Django.
+* Depending on which release you're upgrading to, you may or may not have to refactor existing code in your Django project to make it compatible with the newer version. This is a :doc:`guide </internals/release-process>` on the different release processes and the type of releases: major, minor, micro. Read the features of the :doc:`various releases </releases/index>` to understand the changes in the new version you're upgrading to. You will need to check all the backwards-incompatible changes and deprecated features for each ‘final’ release from the one after your current Django version, up to and including the new version.
+* Check if the current tests in your Django project are compatible with the new release. Run full test suites on your upgraded Django project and test as many feaures as you can to see where the newly upgraded version is breaking any existing features.
+* It's a good idea to run your tests with Python warnings enabled using the command ``python -Wall test``. The ``-Wall`` flag tells Python to display deprecation warnings. Django, like many other Python libraries, uses these warnings to flag when features are going away. It also might flag areas in your code that aren't strictly wrong but could benefit from a better implementation.
Something went wrong with that request. Please try again.