Add compatibility functions for most Django database/model/app operations.
Review Request #8107 — Created April 8, 2016 and submitted — Latest diff uploaded
As a precursor to adding support for newer versions of Django, this change adds a new set of compatibility functions and imports that wrap either deprecated or internal methods in Django, all of which have moved or been replaced in newer versions. Most of this is code movement, but there's a lot of it. The django_evolution.compat module has a number of new sub-modules for database operations, SQL generation, model/app manipulation and lookup, and moved imports. The various callers have been updated to call into these instead of hard-coding access to the wrapped functions. Along with this, I've improved the documentation for most of the functions that have been updated.
Unit tests pass for SQLite, MySQL, and Postgres.