2

两个问题:

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

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

对不起我糟糕的英语。

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

尼科

4

1 回答 1

4

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

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

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

于 2010-01-08T11:13:01.153 回答