Что мы делаем.
Мы помещаем только сторонние материалы в пакеты сайтов. Django, XLRD, PIL и др.
Мы сохраняем наш общий проект структурированным как набор пакетов и проектов Django. Каждый проект является частью общего сайта. У нас есть два отдельных поведения для порта 80 и порта 443 (SSL).
OverallProject/
aPackage/
anotherPackage/
djangoProject80/
settings.py
logging.ini
app_a_1/
models.py # app a, version 1 schema
app_a_2/
models.py # app a, version 2 schema
app_b_2/
models.py
app_c_1/
models.py
djangoProject443/
test/
tool/
Мы используем номер версии как часть названия приложения. Это основной номер версии, который связан со схемой, поскольку «использует-же-схему» является одним из определений совместимости основного выпуска.
Вы должны перенести данные и доказать, что все работает в новой версии. Затем вы можете удалить старую версию и удалить схему из базы данных. Перенос данных является сложной задачей, поскольку вы не можете запускать оба приложения одновременно.
В большинстве приложений установлена только одна текущая версия.