Ich habe ein QSqlRelationalTableModel
Setup mit einem QSqlRelation
zu einem anderen Tisch funktioniert super. Jetzt möchte ich zusätzliche Spalten für diese Zeile in der verknüpften Tabelle suchen. Wie erreiche ich das?QSqlRelationalTableModel zusätzliche verwandte Spalten
Beispiel Tabellen:
city ('id', 'name', 'state_id')
state ('id', 'name', 'capital')
, was ich habe, so weit:
model = QtSql.QSqlRelationalTableModel()
model.setTable('city')
model.setRelation(2, QtSql.QSqlRelation("state", "id", "name"))
model.select()
Was mir wie eine Zeile geben würde:
| 1 | 'San Francisco' | 'California' |
Nun möchte Ich mag die Hauptstadt zum Nachschlagen im Staatsmodell, vom Stadttisch. Wie mache ich das? Mein Verständnis von setRelation
ist, dass es die ID aus der main_table in Spalte X übernimmt und es durch die zugeordnete Spalte ersetzt, aber ich möchte die Zustandstabelle nicht ändern. Ich habe in die QSqlRecord
und QSqlRelation
geschaut, aber ich vermisse etwas.
Danke!
Ich hatte Angst, dass das der Fall wäre. Leider funktioniert das nicht für mich, da QSqlQueryModel schreibgeschützt ist und meine Anwendung für ein editierbares Modell ist (kein Kapital). Wäre es möglich, die Abfrage so zu überschreiben, dass der setRelation-Teil von QSqlRelationalTableModel immer noch so funktioniert, wie er es derzeit tut? –