есть след.структура:
-/app:
/models/
post.py
user.py
в user.py я делаю импорт from models.post import Post, а в post.py я делаю from models.user import User и нарываюсь на циклический импорт.
Я понял как делать не нужно, а как нужно делать?) Как это зарезолвить, если я всё таки хочу разделять логику по модулям?
Скинь код моделей
я юзаю SQLModel user.py from models.post import Post class User(UserBase, table=True): __tablename__ = 'user' id: int = Field(default=None, primary_key=True) posts: list[Post] | None = Relationship(back_populates='post') post.py from models.user import User class Post(PostBase, table=True): __tablename__ = 'post' id: int = Field(default=None, primary_key=True) likes: int = Field(default=0, index=True) owner: User = Relationship(back_populates='user')
Не уверен, но должно сработать if TYPE_CHECKING: import...
NameError: name 'User' is not defined
короче sqlmodel ебаное говно, нехуй мешать алхимию и пидантик в одном флаконе, было бы у меня отдельно models отдельно schemas, такой хуйни не было бы. Всем спокойной ночи.
Тут просто мешают тайп хинты склмодели, иначе бы это сработало
Тишка, памаги
Тишка, пожалусто
Продублируй вопрос, сомневаюсь что ему искать хочется
Хз откуда там циклический импорт
https://t.me/ru_python/1711047
Есть речь про алихмию и релейшены, там можно имя модели в одном из них просто в кавычках указать
Выкинуть и взять алихмию, а не очередную поделку гореархитекторов
ну я собственно ждал этого ответа ))) так и сделаю
это кстати tiangolo сделяль
Ну вот и ответ почему оно такое
Обсуждают сегодня