Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Базы данных
  • » PyQt4 QtSql не могу добавить строку в QtSql.QRelationalTableModel так, чтобы она сохранилась в БД. [RSS Feed]

#1 Янв. 31, 2013 16:36:22

reclosedev
От: Н.Новгород
Зарегистрирован: 2012-03-29
Сообщения: 870
Репутация: +  173  -
Профиль   Отправить e-mail  

PyQt4 QtSql не могу добавить строку в QtSql.QRelationalTableModel так, чтобы она сохранилась в БД.

Pluto
Вдобавок, теперь вставленная запись сохраняется в БД. Вот только вручную изменять вновь появившуюся строку в таблице на форме бесполезно! Сохраняется только то, что было вставлено программно. Сколько этот самый урюк не меняй, он всё равно останется урюком!
http://doc.qt.digia.com/qt/qsqltablemodel.html#EditStrategy-enum
self.model.setEditStrategy(QtSql.QSqlTableModel.OnFieldChange)

Pluto
А почему такой глюк никому не известен?
Известен
http://blog.oh-mypixel.com/qt-qsqlrelationaltablemodel-and-insertrecord-foreign-key-cannot-be-null/
http://qt-project.org/forums/viewthread/3872
и еще что-то попадалось.

Pluto
Как люди раньше писали программы с QRelationalTableModel? Или ей никто до меня не пользовался?
Добавляли QSqlField, наверное. Это же C++, у них нет SQLAlchemy и Django-ORM

Отредактировано reclosedev (Янв. 31, 2013 16:40:18)

Офлайн

#2 Март 5, 2013 14:01:44

Pluto
Зарегистрирован: 2012-05-29
Сообщения: 177
Репутация: +  2  -
Профиль   Отправить e-mail  

PyQt4 QtSql не могу добавить строку в QtSql.QRelationalTableModel так, чтобы она сохранилась в БД.

Какая гадость! Какая гадость… эта ваша QSqlRelationalTableModel!
Мало того, что к добавляемой записи (record) нужно вручную присобачивать ещё одно поле (ИДИОТИЗМ!!!), так ещё эта ?*:%;%:?(* гадина не показывает строки из БД, если в связанном поле содержится NULL или же значение, которого нет в связанной таблице (справочнике).

Придётся послать её в %;№%:?* и писать свою программу без неё.

П.С. Очень злой…

Офлайн

#3 Март 6, 2013 17:56:26

Pluto
Зарегистрирован: 2012-05-29
Сообщения: 177
Репутация: +  2  -
Профиль   Отправить e-mail  

PyQt4 QtSql не могу добавить строку в QtSql.QRelationalTableModel так, чтобы она сохранилась в БД.

А SQLAlchemy есть только под линукс?

Офлайн

#4 Март 6, 2013 17:57:03

Pluto
Зарегистрирован: 2012-05-29
Сообщения: 177
Репутация: +  2  -
Профиль   Отправить e-mail  

PyQt4 QtSql не могу добавить строку в QtSql.QRelationalTableModel так, чтобы она сохранилась в БД.

Оу! Да она сама на питоне что ль написана? Шо це таке, вообще? Что-то пока не разобрался.

Офлайн

  • Начало
  • » Базы данных
  • » PyQt4 QtSql не могу добавить строку в QtSql.QRelationalTableModel так, чтобы она сохранилась в БД.[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version