Добрый день коллеги, пытаюсь пересесть с джанги на фастапи и вот какая у меня проблема, КАК ХРАНИТЬ МОДЕЛИ sqlmodel В разных файлах и при этом иметь возможность вложенной выгрузки связанных сущностей, Получаю или Циклический импорт (что вполне логично), смотрю доки
https://sqlmodel.tiangolo.com/tutorial/code-struct..., добавляю TYPE_CHECKING, тогда получаю pydantic.errors.PydanticUndefinedAnnotation: name 'Track' is not defined, уверен я не 1 с такой проблемой сталкиваюсь
#Файл app/race/models.py
if TYPE_CHECKING:
from app.track.models import Track
class RaceDetail(RaceBase):
"""Заезд"""
tracks: List["Track"]
#Файл app/track/models.py
from app.race.models import Race
class Track(TrackBase, table=True):
"""Дорожка таблица"""
__table_args__ = (
ForeignKeyConstraint(
["race_id"],
[f"{Race.__tablename__}.id"],
ondelete="CASCADE",
),
ForeignKeyConstraint(
["sportsman_id"],
[f"{Sportsman.__tablename__}.id"],
ondelete="SET NULL",
),
)
id: Optional[int] = Field(default=None, primary_key=True)
race_id: int
race: Race = Relationship(back_populates="tracks")
sportsman_id: Optional[int]
sportsman: Sportsman = Relationship(back_populates="tracks")
#маршрут
@router.get("/{race_id}", response_model=RaceDetail)
def read_race(race_id: int, session: Session = Depends(get_session)):
race = session.get(Race, race_id)
if not race:
raise HTTPException(status_code=404, detail="race not found")
return race
Код не весь скопировал а только то где вопросы