void sortManualSubmitModel() { QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName(":memory:"); db.open(); QSqlQuery q; q.exec("create table test(id integer, display_order integer)"); q.exec("insert into test(id, display_order) values(1, 1)"); QSqlTableModel model; QSortFilterProxyModel proxyModel; model.setEditStrategy(QSqlTableModel::OnManualSubmit); model.setTable("test"); model.select(); proxyModel.setSourceModel(&model); proxyModel.setDynamicSortFilter(true); proxyModel.sort(model.fieldIndex("display_order")); QSqlRecord rec = model.record(); rec.setValue("id", 2); rec.setValue("display_order", 2); model.insertRecord(-1, rec); Q_COMPARE( proxyModel.data(proxyModel.index(1, 0)).toInt(), 2); }