Я использую SQLAlchemy и параметр load_only
.
После прочтения load_only
документов я ожидаю, что если я использую load_only
, я смогу получить несколько указанных столбцов. Но результата нет. Были все столбцы, а не некоторые столбцы. Я не знаю почему. Можете дать мне совет?
пс. Мне нужна строка-сущность, поэтому я не использую запрос, подобный этому:
session.query(table.columnA, table.columnB)
введите описание изображения здесь
Я использую SQLAlchemy 1.3.4
class Language(Base):
__tablename__ = 'language'
IDX = Column(INTEGER(11), primary_key=True)
DH_INDEX = Column(ForeignKey('dryhop.DH_INDEX', ondelete='CASCADE', onupdate='CASCADE'), index=True)
EP_INDEX = Column(ForeignKey('expendables.EP_INDEX', ondelete='CASCADE', onupdate='CASCADE'), index=True)
LANG_CLASS = Column(String(20), nullable=False)
LANG_NATION = Column(String(15), nullable=False)
LANG_COMMENT = Column(Text)
UPDATE_TIME = Column(DateTime, server_default=text("CURRENT_TIMESTAMP"))
query= session.query(db_model.Language).options(load_only("LANG_COMMENT", "LANG_NATION"))
dir(query.first()) # 'DH_INDEX', 'EP_INDEX', 'IDX','LANG_CLASS', 'LANG_COMMENT', 'LANG_NATION', 'UPDATE_TIME'... ETC
Когда dir(query.first())
, я ожидал только два столбца
'LANG_COMMENT', 'LANG_NATION')
но результат
'DH_INDEX', 'EP_INDEX', 'IDX','LANG_CLASS', 'LANG_COMMENT', 'LANG_NATION', 'UPDATE_TIME'