If I create a PostgreSQL database 'test' and execute the following: CREATE TABLE timetest ( t time ); INSERT INTO timetest VALUES ('0:0:0');
run the following Python: from PyQt4.QtCore import * from PyQt4.QtSql import * db = QSqlDatabase.addDatabase("QPSQL") db.setHostName("localhost") db.setDatabaseName("test") db.setUserName("postgres") db.open() timetestModel = QSqlTableModel() timetestModel.setEditStrategy(QSqlTableModel.OnManualSubmit) timetestModel.setTable("timetest") timetestModel.select() print \ timetestModel.record(0).field("t").value().toTime().toString("HH:mm:ss.zzz") a = QTime(0,12,34,500) timetestModel.setData(timetestModel.index(0, timetestModel.fieldIndex("t")), a) print \ timetestModel.record(0).field("t").value().toTime().toString("HH:mm:ss.zzz") if not timetestModel.submitAll(): raise Exception, timetestModel.lastError().text() print \ timetestModel.record(0).field("t").value().toTime().toString("HH:mm:ss.zzz") The output is: 00:00:00.000 00:12:34.500 00:12:34.000 The database doesn't get the 500 milliseconds. Even worse if I execute on the database: UPDATE timetest SET t = '0:11:22.33'; and then run the Python above I get: 00:11:22.330 00:12:34.500 00:11:22.330 the value from the model doesn't make it into the database at all if the time field already has milliseconds. Any thoughts? Chris Linux amd64, Qt 4.5.2, PyQt4 4.5.4, Sip 4.8.2, PostgreSQL 8.3.7 _______________________________________________ PyQt mailing list PyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt