我有一个有用的PostgreSQL视图,由联接查询生成:
\d very_useful_view;
View "public.very_useful_view"
Column | Type | Modifiers
-------------+-------------+-----------
tree_id | dom_treeid |
title | text |
grass_id | dom_grass |
name | text |
street_uuid | uuid |视图由SQLAcodegen建模为以下对象:
t_very_useful_view = Table(
'very_useful_view', metadata,
Column('tree_id', String),
Column('title', Text),
Column('grass_id', Text),
Column('name', Text),
Column('street_uuid', UUID)
)正常查询按预期工作:
print session.query(t_very_useful_view).all()不过,过滤-
print session.query(t_very_useful_view).\
filter(t_very_useful_view.tree_id == some_tree_id).\
all()提出:
AttributeError: 'Table' object has no attribute 'tree_id'知道我在视图映射中遗漏了什么吗?
发布于 2016-02-23 11:45:25
Table对象属性的列。
print session.query(t_very_useful_view).\
filter(t_very_useful_view.columns.tree_id == some_tree_id).\
all()这与declarative_base()的子类形成了对比,后者将列公开为根级对象属性。
https://stackoverflow.com/questions/35576713
复制相似问题