PyQT, PostgreSQL и верхний регистр в именах, Использование SetTable с верхним регистром |
Здравствуйте, гость ( Вход | Регистрация )
PyQT, PostgreSQL и верхний регистр в именах, Использование SetTable с верхним регистром |
g00d |
29.11.2008, 5:21
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 26.6.2008 Из: Ростов-на-Дону Пользователь №: 214 Спасибо сказали: 0 раз(а) Репутация: 0 |
model = QtSql.QSqlTableModel();
model.setTable("\"UMUAcessManagement\".documents"); model.select() Помогите, нигде не могу найти ответ, уже практически отчаялся его найти. Может хоть подскажите где искать. Проблема следующая. В базе на Посттгресе используются именования схемы разнорегистровыми символами. Для сохранения регистра там в Постргресе используется экранирование строки кавычками. Функция settable по-ходу по умолчанию преобразует полученную строку к нижнему регистру перед тем как отдать базе. Насколько я понимаю логику работы, то settable приводит строку из примера к виду \"umuacessmanagement\".documents Есть вариант с setQuery, но хотелось бы с этим разобраться |
|
|
Litkevich Yuriy |
29.11.2008, 7:59
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Функция settable по-ходу по умолчанию преобразует полученную строку к нижнему регистру перед тем как отдать базе. не знаю как работает в Питоне, но в Qt (С++) такого нет, как выяснилось (методом хождения по граблям) эта функция обрамляет в кавычки имя таблицы, возможно у тебя после записи:setTable("\"UMUAcessManagement\".documents"); получается такое имя: ""UMUAcessManagement".documents" вобще имя сточкой - странное, на мой взгляд |
|
|
Текстовая версия | Сейчас: 28.3.2024, 16:58 |