pk: int | UUID,
session: AsyncSession,
options=OPT_EMPTY
) -> ModelBase:
instance = await session.get(obj, str(pk) if isinstance(pk, UUID) else pk, options=options)
detail = obj.__tablename__.upper() + '_DOES_NOT_EXIST'
if not instance:
raise HTTPException(
status_code=status.HTTP_404_NOT_FOUND,
detail=detail,
)
return instance
Почему options тут могут не работать? передаю tuple (selectinload(...), )
не происходит подгрузка релейшена в коде выше. Тут же все ок workout = ( await session.execute( select(Workout) .where(Workout.id == workout_id) .options(selectinload(Workout.members)) ) ).scalar()
что тут происходит вообще? 1. Почему PK или число или uuid, 2. зачем uuid преваращать в строку 3. зачем в HTTP светить имя таблицы, свети имя модели что ли что значит не работает?
не подгружает релейшен
чуть подробнее, как диагностровал?
хм а если на список заменить?
тоже самое
и шо делать(
Обсуждают сегодня