модели, если получать эту модель с опциями вроде selectinload, joined и т.д.? Работают только lazy, указанные внутри relationship?
Я ничего не понял
У user1 есть relationship к другому объекту Пытаюсь загрузить связанную через relationship модельку у user1. В параметрах relationship не указываю тип lazy. Пытаюсь запросить user1 через обычный session.get с опцией selectinload(User.some_relationship), но он его не подгружает и вопит про незаспавненный гринлет (алхимия async)
Должен подгружать. Что-то не так делаешь, значит
вообще это происходит в тестах и вложенных транзакциях, поэтому могут быть проблемы с фикстурой. Попробую без них это сделать сейчас
Вряд ли дело во вложенных транзакциях
в общем много чего попробовал, но selectin, например, работает исключительно в том случае, если он прописан в отношении. Если я добавляю options=[selectinload(User.mentor], то mentor в итоге не подгружается. Если указать в relationship(lazy="selectin") — грузится. В чем дело, честно говоря, без понятия :)
Покажи реальные куски кода
Вот так это выглядит без selectin в параметрах relationship. Если его раскомментить, то даже без параметра в запросе mentor подгружается.
А попробуй указать populate_existing в get
попробовал, но это почему-то сработало только для одной из двух моделей
Обсуждают сегодня