SQLAlchemy声明性。指定列到s

2024-10-05 14:22:29 发布

您现在位置:Python中文网/ 问答频道 /正文

声明性基础:

Base = declarative_base()
Base.query = Session.query_property()

班级:

^{pr2}$

现在我可以从作弊者那里得到一切:

Cheat.query.all()

SQLAlchemy将生成类似于以下内容的SQL语句:

SELECT name, slug, cheat, html FROM cheats

但我希望我的SQL语句是:

SELECT name, slug FROM cheats

所以我需要指定要检索哪些列,因为我不需要通过网络从数据库中提取大量文本。 我该怎么做?在


Tags: namefrom声明sqlbasesessionproperty语句
2条回答
for name, slug in session.query(Cheat.name, Cheat.slug):
    print name, slug

将它们定义为deferred,则只有在访问

from sqlalchemy.orm import deferred

class Cheat(Base):

  __tablename__ = 'cheats'

  id = Column(Integer, primary_key = True, autoincrement = True)
  cheat = deferred(Column(Text))
  name = Column(String(255), index = True)
  _html = Column('html', Text)
  _slug = deferred(Column('slug', String(255)))

相关问题 更多 >