FastAPI + Django: нормально ли такое делать и если да, то каким образом?
Есть проект на FastAPI, в котором нет базы данных, данные хранятся в оперативной памяти с периодической сериализацией и записью в файл. FastAPI изначально был выбран из-за нативной поддержки OpenAPI. Сейчас проект начал требовать усложнения: нужно прикрутить базу данных + админку.
Насколько хороша идея обращаться к Django-проекту из проекта на FastAPI средствами REST? Какие могут быть подводные камни? Идея заменить FastAPI-проект на Django-проект выглядит довольно затратной, т.к. логика работы приложения уже отработана в FastAPI-проекте.
На мой взгляд, лучше доделать работу с базой в нынешнем приложении, чем делать два приложения, да ещё и на разных технологиях.
Можно и ORM впилить, если хочется. Можно даже Django ORM без остальной части Django. Но лучше рассмотреть вариант использования совместимых с asyncio ORM, например, tortoise-orm.
Ну к примеру берете докер.
Делаете нужные модели на Django, админку к моделям.
На FastAPI получаете данные и записываете данные - можно через ту же Django ORM.
На докере просто стартуете один контейнер для админки - приложение Django, второй контейнер - для FasAPI,
и на веб сервере разруливаете запросы - /api - в контейнер с FastAPI, /admin - в контейнер с Django.