Understanding the code base
It is quite rare to find legacy code with good documentation. Even if you do, the documentation might be out of sync with the code in subtle ways that can lead to further issues. Often, the best guide to understanding the application's functionality is the executable test cases and the code itself.
The official Django documentation has been organized according to versions at https://docs.djangoproject.com. On any page, you can quickly switch to the corresponding page in the previous versions of Django with a selector in the bottom right-hand section of the page:
Django documentation can switch to a different Django version
In the same way, documentation for any Django package hosted on readthedocs.org can also be traced back to its previous versions.
For example, you can select the documentation of django-braces
 all the way back to v1.0.0 by clicking on the selector in the bottom left-hand section of the page:
Packages on Read the docs have various versions and formats...