Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Базы данных > PyQT, PostgreSQL и верхний регистр в именах


Автор: g0Od 29.11.2008, 07:42
model = QtSql.QSqlTableModel();
model.setTable("\"UMUAcessManagement\".documents");
model.select()

Помогите, нигде не могу найти ответ. Может хоть подскажите где искать.
Проблема следующая. В базе на Посттгресе используются именования схемы разнорегистровыми символами. Для сохранения регистра там в Постргресе используется экранирование строки кавычками. Функция settable по-ходу по умолчанию преобразует полученную строку к нижнему регистру перед тем как отдать базе. Насколько я понимаю логику работы, то settable приводит строку из примера к виду \"umuacessmanagement\".documents

Есть вариант с setQuery, но хотелось бы с этим разобраться 

P.S. Переименовать схему возможным не представляется

Автор: pythonwin 29.11.2008, 11:44
если попробовать сделать через psycopg?

Автор: g0Od 1.12.2008, 16:42
Цитата(pythonwin @ 29.11.2008,  11:44)
если попробовать сделать через psycopg?

Не знаю, хотелось бы обойтись тем, что есть, без дополнительных адаптеров... Просто мне даже странно, что не могу найти в нете ниодной ссылки хотя бы на эту проблему. На мой взгляд - это очевидный баг: например при программировании на ПХП никаких проблем с обращением к базе не возникало...

psycopg обязательно попробую, фэнкс smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)