170 похожих чатов

Ребят, как резолвятся такие случаи в нормальном мире? у меня

есть след.структура:
-/app:
/models/
post.py
user.py
в user.py я делаю импорт from models.post import Post, а в post.py я делаю from models.user import User и нарываюсь на циклический импорт.
Я понял как делать не нужно, а как нужно делать?) Как это зарезолвить, если я всё таки хочу разделять логику по модулям?

16 ответов

6 просмотров

Скинь код моделей

Daniel-Daniel Автор вопроса
Gipss🇺🇦
Скинь код моделей

я юзаю 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...

Daniel-Daniel Автор вопроса
Daniel-Daniel Автор вопроса
Daniel Daniel
я юзаю SQLModel user.py from models.post import P...

короче sqlmodel ебаное говно, нехуй мешать алхимию и пидантик в одном флаконе, было бы у меня отдельно models отдельно schemas, такой хуйни не было бы. Всем спокойной ночи.

Gipss🇺🇦
Не уверен, но должно сработать if TYPE_CHECKING: ...

Тут просто мешают тайп хинты склмодели, иначе бы это сработало

Daniel-Daniel Автор вопроса

Тишка, памаги

Daniel-Daniel Автор вопроса
Daniel Daniel
Тишка, памаги

Тишка, пожалусто

Daniel Daniel
Тишка, пожалусто

Продублируй вопрос, сомневаюсь что ему искать хочется

Хз откуда там циклический импорт

Daniel-Daniel Автор вопроса

Есть речь про алихмию и релейшены, там можно имя модели в одном из них просто в кавычках указать

Daniel Daniel
я юзаю SQLModel user.py from models.post import P...

Выкинуть и взять алихмию, а не очередную поделку гореархитекторов

Daniel-Daniel Автор вопроса
Tishka17
Выкинуть и взять алихмию, а не очередную поделку г...

ну я собственно ждал этого ответа ))) так и сделаю

Daniel Daniel
это кстати tiangolo сделяль

Ну вот и ответ почему оно такое

Похожие вопросы

Обсуждают сегодня

Всем привет, на линуксе лучше на fasm или nasm учиться писать для начала ?
meszjol
14
Если у меня есть такой класс: Object = {} function Object:new(a_name, a_transform, a_color, a_mesh, a_material, a_shader, a_textures) local private = {} private.n...
Cuarno Vile
4
было так ;void set_http_ver(RESPD* ptr, char* version, uint32_t length) // example: 'RTSP/1.1 ' set_http_ver: mov eax, [esp + 4] mov ecx, [esp + 8] ...
Mixail Frolov
5
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
зачем же переименовывать ? чтобы кол-во участников возросло или вдруг IBM от этого снова на свифте начнет кодить ? Я не понимаю что страшного в том что свифт гавно, если это т...
Oleh Nerzh
10
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
Evo 1.4.34 PHP 7.4 Все работало штатно. На ровном месте SimpleGallery начал выдавать ошибку Что может быть? Уже все переустановил по новой. Места хватает. Хостинг reg.ru
Paul Savchenkov
6
здравствуйте. совершаю вот такую вещь: strcpy(line, (char)current_number); где current number — неподписанный шорт, line — массив чаров. ругань следующая: main.c:29:30: error...
Roberto's Ширгозиев
13
юзеры Jetpack Compose тут?
Qtless Qtless
8
Карта сайта