Почему sqlalchemy игнорировать load_only? - PullRequest
0 голосов
/ 27 августа 2018

У меня есть модель User с отношением к сообщениям.

class User(Base):
    ...
    posts = relationship('Post',secondary=user2post, lazy="dynamic")

class Post(Base):
    ...
    mark = Column(Integer)

Мне нужно получить все оценки сообщений от пользователя. Для этого я пишу следующий запрос: session.query(User).get(same_id).posts.options(load_only("mark")).all() и он возвращает мне список сообщений со всеми данными, как если бы я не писал posts.options(load_only("mark")). Версия sqlalchemy - 1.2.11.

1 Ответ

0 голосов
/ 27 августа 2018

Из их документации о отложенной загрузке столбца :

Эта функция позволяет загружать определенные столбцы таблицы только при прямом доступе, а не при запросе объекта с помощью Query.

После того, как запрос выполнен, доступ к возвращенным сообщениям считается «прямым доступом», поэтому orm будет извлекать отложенные столбцы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...