не был загружен - алхимия пытается делать запрос к бд, но падает ошибкой, т.к. асинхронный режим. А как то без отлавливания этой ошибки можно обойтись? Похоже это лишняя работа! Хочу чтобы он к примеру None возвращал или attribute error.
Я написал парсер моделей алхимии, но он не знает заранее какие аттрибуты доступны а какие нет, т к.связи между таблицами сложные (many to many) и много relashionships
Сделай селектинлоад для релейшенов
Не выйдет. Парсер проверяет аттрибуты и не знает заранее о доступности двнных в атрибуте. Связь многие ко многим приведет к тому, что я вытащу всю базу в итоге, если буду сектинлоад
Парсер проверяет атрибуты? Ты уверен, что точно понимаешь значение слова парсер?
Парсинг это сбор и структурирование данных. Вроде все так. Я пытаюсь взять данные из модельки алхимии и поместить в удобный мне другой объект
Нет, это не парсинг. И я тебе уже сказал решение проблемы — просто добавь селект ин лоад в поле
https://docs.sqlalchemy.org/en/20/orm/extensions/asyncio.html#asyncio-orm-avoid-lazyloads
Надо попробовать вот это будет. https://docs.sqlalchemy.org/en/20/_modules/examples/asyncio/async_orm_writeonly.html Спасибо за наводку. Еще вопрос. Я правильно понимаю что session.stream лучше чем session.execute если надо много данных вытащить?
Ты вообще понимаешь что ты делаешь?
Обсуждают сегодня