小编Joh*_*rum的帖子

SQLAlchemy ORM:“AttributeError:无法在行中找到列”

我现在正在学习 SQLAlchemy,但遇到了一个令我困惑的错误。是的,这里已经有类似的问题了,但似乎没有一个得到解决。

我的目标是使用ORM模式来查询数据库。所以我创建了一个模型:

from sqlalchemy import Column, Integer, String, create_engine
from sqlalchemy.orm import Session, registry
from sqlalchemy.sql import select

database_url = "mysql+pymysql://..."

mapper_registry = registry()
Base = mapper_registry.generate_base()


class User(Base):
    __tablename__ = "user"

    id = Column(Integer, primary_key=True)
    name = Column(String(32))


engine = create_engine(database_url, echo=True)
mapper_registry.metadata.create_all(engine)
Run Code Online (Sandbox Code Playgroud)

新我想加载表中所有条目的整行:

with Session(engine) as session:
    for row in session.execute(select(User)):
        print(row.name)

#- Error: #

Traceback (most recent call last):
...
    print(row.name)
AttributeError: Could not locate column in row for column 'name'
Run Code Online (Sandbox Code Playgroud)

我在这里做错了什么?我不应该能够访问 ORM 模型的字段吗?或者我误解了 ORM 的想法? …

python orm sqlalchemy mariadb pymysql

10
推荐指数
2
解决办法
2万
查看次数

标签 统计

mariadb ×1

orm ×1

pymysql ×1

python ×1

sqlalchemy ×1