Как избежать циклического импорта при использовании sqlalchemy Relations() с аннотациями типов?Python

Программы на Python
Anonymous
Как избежать циклического импорта при использовании sqlalchemy Relations() с аннотациями типов?

Сообщение Anonymous »

Я объявляю свои модели следующим образом:

Код: Выделить всё

from __future__ import annotations

class Parent(Base):
...
children: Mapped[list[Child]] = relationship("Child", back_populates="parent")

class Child(Base):
...
parent_id: Mapped[Optional[str]] = mapped_column(String, ForeignKey("parent.id", name="parent_id_fk", ondelete="CASCADE"),  nullable=True, default=None)
parent: Mapped[Parent] = relationship("Parent", back_populates="children")
Это работает нормально, проблема начинается, когда я хочу разделить эти модели на разные файлы. Как я могу добиться этого, сохраняя при этом аннотации типов и те же возможности и избегая циклического импорта?


Подробнее здесь: https://stackoverflow.com/questions/781 ... ith-type-a

Вернуться в «Python»