首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查询由PostgreSQL创建的SQLAcodegen视图

查询由PostgreSQL创建的SQLAcodegen视图
EN

Stack Overflow用户
提问于 2016-02-23 11:45:25
回答 1查看 479关注 0票数 1

我有一个有用的PostgreSQL视图,由联接查询生成:

代码语言:javascript
复制
\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建模为以下对象:

代码语言:javascript
复制
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)
)

正常查询按预期工作:

代码语言:javascript
复制
print session.query(t_very_useful_view).all()

不过,过滤-

代码语言:javascript
复制
print session.query(t_very_useful_view).\
    filter(t_very_useful_view.tree_id == some_tree_id).\
    all()

提出:

代码语言:javascript
复制
AttributeError: 'Table' object has no attribute 'tree_id'

知道我在视图映射中遗漏了什么吗?

EN

回答 1

Stack Overflow用户

发布于 2016-02-23 11:45:25

Table对象属性的列。

代码语言:javascript
复制
print session.query(t_very_useful_view).\
    filter(t_very_useful_view.columns.tree_id == some_tree_id).\
    all()

这与declarative_base()的子类形成了对比,后者将列公开为根级对象属性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35576713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档