私は同様の問題がありましたが、私の解決策は次のようなものでした: おそらくあなたはsomethingsを変更する必要がありますが、それは動作します。あなただけ行く
self.mapper = QDataWidgetMapper()
self.mapper.setModel(self.model)
relModel = self.model.relationModel(index) #the same from the SetRelation
self.YourCombBox.setModel(relModel)
self.TourCombBox.setModelColumn(relModel.fieldIndex("The value field you want"))
self.mapper.addMapping(self.YourCombBox, int)
self.mapper.toFirst()
とあなたを救うためにしたい場合は、マッパーcreatの関係を設定した後
self.model = QSqlRelationalTableModel()
self.model.setTable("FK The table Name")
self.model.setRelation(index, QSqlRelation("Pkey table", "The id field", "The value field you want"))
self.model.select()
と
_insertRecord = QSqlRecord()
_insertRecord.append(QSqlField(int, QVarinat.WhatEverTypeItIs))
quer = QSqlQueryModel()
quer.setQuery("SELECT id FROM TheTable where Name = '%s'" %(YourComboxCurrentText()))
_insertRecord.setValue(int, quer.record(0).value("id"))
self.model.insertRowIntoTable(_insertRecord)
self.model.select()