У меня есть программа на языке Python CLI с моделями баз данных SQL, и я хочу добавить интерфейс с инфраструктурой MVC (такой как Django). Как лучше всего связать мою программу с фреймворком, если я уже определил свои модели?
Должен ли я:
- Перепишите модель, чтобы она была доступна и Django, и моей программе
- Напишите слой, который взаимодействует между Django и моей Программой
- Удалите модель из моей программы и позвольте Django обработать ее
Выбор № 1: Общая модель
My Program
/ | \
Binaries Model Classes
|
Django
/ \
View Controller
Вариант № 2: Создать библиотеку мостов
My Program
/ | \
Binaries Model Classes
|
My-Bridge
|
Django
/ | \
View Model Controller
Выбор № 3: использовать Django для большинства работ и удалить модель из моей программы
Classes
\
My Program
/ |
Binaries |
|
My-Bridge
|
Django
/ | \
View Model Controller
Я избегаю Варианта № 1 (Создать общую модель), потому что я не знаю, как создать общую модель с использованием ORM и SQLAlchemy в Django.
Я не уверен насчет Варианта № 2 (Создание Моста), потому что я не знаю, использует ли это Django в полной мере. Из документации кажется, что Django должен обрабатывать модель, учитывая, что это MVC-фреймворк.
Я также избегаю Варианта № 3 (Удаление Модели из Программы), потому что мне пришлось бы переписать всю логику SQLAlchemy ORM, которая использует модель SQLAlchemy в My-Program.
Что вы, ребята, думаете? Какой вариант лучше, если я уже написал CLI-версию моей программы?