У меня есть программа 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 (создать общую модель), потому что не знаю, как создать общую модель с помощью Django ORM и SQLAlchemy.
Я не уверен в выборе № 2 (создание моста), потому что я не знаю, использует ли он Django в полной мере. Из документации кажется, что Django должен обрабатывать модель, учитывая, что это структура MVC.
Я также избегаю варианта № 3 (удаление модели из программы), потому что мне придется переписать всю логику ORM SQLAlchemy, которая использует модель SQLAlchemy в My-Program.
Что вы думаете, ребята? Какой вариант лучше, учитывая, что я уже написал CLI-версию своей программы?