2010-01-08 2 views
2

Два вопроса:Работа с Postgres/PostGIS Показать в SQLAlchemy

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

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

Извините за мой бедный английский.

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

Нико

ответ

4

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

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

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

+1

Можно ли также автозагрузку? Я получаю «NoSuchTableError». –

Смежные вопросы