Редактирую данные модели через QDataWidgetMapper.
После того как сделал все приготовления, соединяю поля модели и вид:
QSqlTableModel *modelTask = model->relationModel(model->fieldIndex("task_name"));
ui->task->setModel(modelTask);
ui->task->setModelColumn(modelTask->fieldIndex("name"));
QSqlTableModel *modelCar = model->relationModel(model->fieldIndex("car_name"));
ui->car->setModel(modelCar);
ui->car->setModelColumn(modelCar->fieldIndex("name"));
//....
mapper->setModel(model);
mapper->setItemDelegate(new QSqlRelationalDelegate(this));
mapper->addMapping(ui->dateEdit,model->fieldIndex("date"));
mapper->addMapping(ui->task,model->fieldIndex("task_name"));
mapper->addMapping(ui->car,model->fieldIndex("car_name"));
ui->task и ui->car - это 2 комбобокса.
Когда срабатывает mapper->submit() меняются данные в модели, из комбобокса ui->task, но если поменять местам строки
mapper->addMapping(ui->car,model->fieldIndex("car_name"));
mapper->addMapping(ui->task,model->fieldIndex("task_name"));
то наоборот, данные обновляются из комбобокса ui->car, но не обновляются в ui->task.
Быть может я что-то делаю не так? Потому что маппер работает с несколькими lineEdit, но не в какую не хочет работать с несколькими QCombobox.
Версия Qt: 5.9.0