Я работаю с QSqlRelationalTableModel и, по большей части, идентификаторы внешнего ключа, разрешающие их значения имен через QsqlRelation, вполне довольны:
QSqlRelationalTableModel *model = db->get_db_model();
model->setEditStrategy(QSqlTableModel::OnFieldChange);
model->setTable("materialproperty");
model->select();
model->setRelation(1, QSqlRelation("parameter", "id", "name"));
MyTableview->setModel(model);
работает нормально.Но одно конкретное отношение:
model->setRelation(2, QSqlRelation("other", "id", "name"));
вызывает сбой всей модели.Единственное различие между этими двумя ситуациями заключается в том, что столбец 1 в свойствах таблицы всегда заполнен, тогда как 2 часто имеет значение NULL.Есть ли способ обойти это поведение или другое объяснение?Мои поля ID всегда текстовые.Кстати, если я создаю QSqlRelation и проверяю его действительность, он проходит нормально.