Я работаю над отключением отложенной загрузки в SQLAlchemy, чтобы он не загружал по умолчанию все объекты при извлечении записей из базы данных.Я пытаюсь загрузить, например, пользовательский объект только из объекта события, когда вы специально присоединяете его к запросу или если вы обращаетесь к нему, например, event.user .Возможно ли это как-то с параметром или это плохая практика для отключения отложенной загрузки?
Я уже попробовал noload ("*"), но он отключает любое соединение в конце.Например, у меня есть приведенная ниже модель, а также запросы, которые я выполняю в своих тестах.
# Event model
class Event(Base):
__tablename__ = 'events'
id = Column(Integer, primary_key=True, autoincrement=True)
name = Column(String(50), nullable=False)
amount = Column(Integer)
_user_id = Column("user_id", Integer, ForeignKey("users.id"), nullable=False)
user = relationship(User)
# Query - This fetches also the whole user object <-- I don't want such behavior
some_session.query(Event).all()
# Query - I would like to load the user object when I will use the join() if possible
some_session.query(Event).join(Event.user).all()
![enter image description here](https://i.stack.imgur.com/U9fH8.png)