Как связать модели из двух микросервисов?
Есть приложение. Оно состоит из нескольких микросервисов написанных на FastAPI. Вот структура проекта:
|---author
|------__init__.py
|------models.py
|------router.py
|---book
|------__init__.py
|------models.py
|------router.py
|-main.py
|-dockerfile
|-docker-compose.yml
Как связать модели сервиса book с моделями сервиса author?
Во всех примерах, где речь идет о связанных моделях, они указываются в одном модуле, но при этом считается хорошим тоном разделять логику в проектах на отдельные пакеты (директории). А если вот я хочу, чтобы мои модели находились в разных пакетах и при этом мне надо их связать.
Пока что у меня вылетает исключение
sqlalchemy.exc.InvalidRequestError: When initializing mapper Mapper[Author(Author)], expression 'book.models.Book' failed to locate a name ('book.models.Book'). If this is a class name, consider adding this relationship() to the <class 'author.models.Author'> class after both dependent classes have been defined
С импортами проблем быть не должно. Такой подход практиковал, когда писал монолитное приложение на Django. Конечно, там свой orm, а тут уже работать надо с алхимией. Как решить данную задачу?