gpt4 book ai didi

python - SQLalchemy from_statement() 找不到列

转载 作者:太空狗 更新时间:2023-10-30 02:20:25 25 4
gpt4 key购买 nike

我正在学习 http://docs.sqlalchemy.org/en/rel_0_9/orm/tutorial.html 中的 sqlalchemy 教程

不过,我没有使用 SQLite 后端,而是使用 MySQL。问题是,当我尝试执行一个 MySQL 语句来从用户表中选择一个列时,例如

SELECT name from users;

它会失败

NoSuchColumnError: "Could not locate column in row for column 'users.id'"

而在做一个

SELECT * FROM users

会工作得很好。我错过了什么吗?

用户类定义为:

class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String(50))
fullname = Column(String(50))
password = Column(String(50))
def __repr__(self):
return "<User(name='%s', fullname='%s', password='%s')>" % (self.name, self.fullname, self.password)

session 定义为:

Session = sessionmaker(bind=engine)
session = Session()

我正在努力做

session.query(Users).from_statement('SELECT name from users')

顺便说一句,这条语句在 MySQL 客户端上运行时运行良好。我是不是遗漏了什么或者是错误?

最佳答案

如果有人遇到同样的问题,我会自己回答。

的语法
session.query(Users).from_statement('SELECT name from users')

错了。应该是

session.query('name').from_statement('SELECT name from users')

列列表应该在对 query() 的调用中。

关于python - SQLalchemy from_statement() 找不到列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23344728/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com