相关疑难解决方法(0)

Sqlalchemy from_statement()找不到列

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

然而,我使用的是MySQL,而不是使用SQLite后端.问题是,当我尝试执行文字MySQL语句来从users表中选择一列时,例如

SELECT name from users;
Run Code Online (Sandbox Code Playgroud)

它会失败

NoSuchColumnError: "Could not locate column in row for column 'users.id'"
Run Code Online (Sandbox Code Playgroud)

而做一个

SELECT * FROM users
Run Code Online (Sandbox Code Playgroud)

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

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)
Run Code Online (Sandbox Code Playgroud)

会话定义为:

Session = sessionmaker(bind=engine)
session = Session()
Run Code Online (Sandbox Code Playgroud)

而我正在努力做到

session.query(Users).from_statement('SELECT name from users')
Run Code Online (Sandbox Code Playgroud)

顺便说一句,这个语句在MySQL客户端上运行时工作正常.我错过了什么或者它是一个错误?

python sqlalchemy

4
推荐指数
1
解决办法
5331
查看次数

标签 统计

python ×1

sqlalchemy ×1