Работа с Postgres / PostGIS View в SQLAlchemy - PullRequest
2 голосов
/ 08 января 2010

Два вопроса:

  • Я хочу создать представление в моей PostGIS-DB. Как добавить этот вид в мою таблицу geometry_columns?

  • Что мне нужно сделать, чтобы использовать View с SQLAlchemy? Есть ли разница между таблицей и представлением для SQLAlchemy, или я могу использовать тот же способ для использования представления, что и для использования таблицы?

извините за мой плохой английский.

Если есть вопросы по моему вопросу, пожалуйста, не стесняйтесь спрашивать, поэтому я могу попытаться объяснить это по-другому, может быть:)

Nico

1 Ответ

4 голосов
/ 08 января 2010

Объекты таблиц в SQLAlchemy имеют две роли. Их можно использовать для выдачи команд DDL для создания таблицы в базе данных. Но их главная цель - описать столбцы и типы табличных данных, из которых можно выбрать и вставить их в.

Если вы хотите только выбрать, то представление выглядит в SQLAlchemy точно так же, как обычная таблица. Достаточно описать представление как таблицу с интересующими вас столбцами (вам даже не нужно описывать все столбцы). Если вы хотите использовать ORM, вам нужно объявить для SQLAlchemy, что некоторая комбинация столбцов может быть использована в качестве первичного ключа (все, что уникально будет делать). Объявление некоторых столбцов внешними ключами также облегчит настройку любых отношений. Если вы не создадите команду create для этого объекта Table, SQLAlchemy просто метаданные, чтобы узнать, как сделать запрос к базе данных.

Если вы также хотите вставить в представление, вам необходимо создать правила или триггеры PostgreSQL для представления, которые перенаправляют записи в правильное местоположение. Мне неизвестен хороший рецепт использования для перенаправления записей на стороне Python.

...