您可以执行此 *** 作,但是必须手动定义主键。假设这
id是
v您要用作主键的列,则可以这样做:
from sqlalchemy import orm class ViewName(object): def __init__(self, name):self.name = name orm.mapper(ViewName, v, primary_key=[v.c.id]) Session = orm.sessionmaker(bind=engine) for r in Session().query(ViewName): print r.id, r.number
要进行测试,只需将此片段粘贴到我的工作示例的末尾,上面链接的答案中即可。有关更多详细信息,请参见文档(例如,您可以使用属性来定义外键)。
_编辑
:或者,您可以在我的原始代码(和您的问题)中略微更改视图定义并编写:
v = Table('viewname', metadata, Column('id', Integer, primary_key=True), autoload=True)
即,已经在表定义中添加了主键。然后,您不需要中的
primary_key参数,问题中
orm.mapper的其余代码即可使用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)