Я хотел бы использовать SqlSoup с существующей базой данных, содержащей представления.Доступ к таблице проходит гладко, но доступ к представлению приводит к тому, что «PKNotFoundError: таблица '[viewname]' не имеет определенного первичного ключа ...»
Правильно ли я понимаю, что SqlSoup не работает с представлениями базы данных(по умолчанию хотя бы)?Мне не удалось найти что-либо, имеющее непосредственное отношение к Google, SO или списку рассылки SqlAlchemy.Если бы вы столкнулись с этим, как бы вы поступили, если бы хотели получить доступ к не обновляемым представлениям?Я новичок в SQLAlchemy и SQLSoup.
Вот конкретный пример:
from sqlalchemy.ext.sqlsoup import SqlSoup
u = SqlSoup('postgresql+psycopg2://PUBLIC@unison-db.org:5432/unison')
seq = u.pseq.filter(u.pseq.pseq_id==76).all() # okay
aliases = u.pseqalias.filter(u.pseqalias.pseq_id==76).all()
Это открытая база данных.Вы можете выполнить эквивалентные запросы, используя psql:
psql -h unison-db.org -U PUBLIC -d unison -c 'select * from pseq where pseq_id=76'
psql -h unison-db.org -U PUBLIC -d unison -c 'select * from pseqalias where pseq_id=76'