相关疑难解决方法(0)

将sqlalchemy行对象转换为python dict

是否有一种简单的方法来迭代列名和值对?

我的sqlalchemy版本是0.5.6

下面是我尝试使用dict(row)的示例代码,但它抛出异常,TypeError:'User'对象不可迭代

import sqlalchemy
from sqlalchemy import *
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker

print "sqlalchemy version:",sqlalchemy.__version__ 

engine = create_engine('sqlite:///:memory:', echo=False)
metadata = MetaData()
users_table = Table('users', metadata,
     Column('id', Integer, primary_key=True),
     Column('name', String),
)
metadata.create_all(engine) 

class User(declarative_base()):
    __tablename__ = 'users'

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

    def __init__(self, name):
        self.name = name

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

user1 = User("anurag")
session.add(user1)
session.commit()

# uncommenting next line throws exception 'TypeError: 'User' object is not iterable'
#print …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy

220
推荐指数
19
解决办法
18万
查看次数

标签 统计

python ×1

sqlalchemy ×1