哪个python ORM可以返回一个对象?

时间:2016-03-04 08:53:50

标签: python orm sqlalchemy

我现在正在学习sqlalchemy,原始的sql执行如下:

class Qblvpool(object):
    def __init__(self):
        self.name = "hhe"
        self.size = 0
        self.createtime = datetime.now()


metadata = MetaData()
qblvpool = Table('qb_lv_pool', metadata,
                 Column('id', Integer, primary_key=True),
                 Column('name', String(128)),
                 Column('size', Integer),
                 Column('createtime', DateTime))

mapper(Qblvpool, qblvpool)

engine =     create_engine('postgresql+psycopg2://username:password@ip:5432/postgres', echo=True)
Session = sessionmaker(bind=engine)
session = Session()
result = session.execute('select * from qb_lv_pool', mapper=Qblvpool)
row = result.fetchone()
print row.name

它运行正常。但是我希望该行是Qblvpool的一个实例,就像ibatis在java中一样。

我该怎么做或者哪个python ORM支持它?

2 个答案:

答案 0 :(得分:0)

使用session.query而不是session.execute

session.query(Qblvpool).all()

答案 1 :(得分:0)

Using Textual SQL下的文档中描述了这一点:

session.query(Qblvpool).from_statement(text('select * from qb_lv_pool')).all()