【问题标题】:Work with Postgres/PostGIS View in SQLAlchemy在 SQLAlchemy 中使用 Postgres/PostGIS 视图
【发布时间】:2011-01-02 20:17:10
【问题描述】:

两个问题:

  • 我想在我的 PostGIS-DB 中生成一个视图。如何将此视图添加到我的 geometry_columns 表中?

  • 我必须做什么,才能在 SQLAlchemy 中使用视图? SQLAlchemy 的表和视图之间有区别吗?或者我可以使用与使用表相同的方式来使用视图吗?

对不起我的英语不好。

如果对我的问题有任何疑问,请随时提问,以便我可以尝试以另一种方式解释:)

尼哥

【问题讨论】:

    标签: python postgresql sqlalchemy postgis


    【解决方案1】:

    SQLAlchemy 中的表对象有两个角色。它们可用于发出 DDL 命令以在数据库中创建表。但它们的主要目的是描述可以从中选择和插入的表格数据的列和类型。

    如果您只想选择,则视图在 SQLAlchemy 中看起来与常规表完全一样。将视图描述为包含您感兴趣的列的表就足够了(您甚至不需要描述所有列)。如果你想使用 ORM,你需要为 SQLAlchemy 声明一些列的组合可以用作主键(任何唯一的都可以)。将某些列声明为外键也将更容易设置任何关系。如果您不为该 Table 对象发出 create ,那么 SQLAlchemy 知道如何查询数据库只是元数据。

    如果您还想插入视图,则需要在视图上创建 PostgreSQL 规则或触发器,将写入重定向到正确的位置。我不知道在 Python 端重定向写入的良好用法。

    【讨论】:

    • 是否也可以自动加载视图?我得到一个“NoSuchTableError”。
    猜你喜欢
    • 2022-01-15
    • 2021-05-04
    • 2013-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-18
    • 1970-01-01
    • 2015-04-16
    相关资源
    最近更新 更多