1
我有以下使用PyQt5,sqlite3和python3.5.2的簡單模型。QSqlRelationalTableModel只填充前256條記錄
class choicesModel(QDialog):
def __init__(self, parent=None):
super(choicesModel, self).__init__()
query = QSqlQuery()
query.prepare("SELECT COUNT(*) FROM resident_choices")
query.exec_()
query.next()
dbrows = query.value(0)
print("rows in db: ", dbrows)
self.choicesModel = QSqlRelationalTableModel(self)
self.choicesModel.setEditStrategy(QSqlTableModel.OnManualSubmit)
self.choicesModel.setTable("resident_choices")
self.choicesModel.select()
rows = self.choicesModel.rowCount()
print("rows returned by model.select(): ", rows)
執行模型產生以下輸出:
行中分貝:model.select後831個
行():256
看來,初始選擇只填充前256個記錄。這是一個sqlite3問題,如果是這樣,我如何填充所有記錄(數據庫只有大約850記錄總數)。如果不是我如何強制所有記錄被加載?
結果是,使用proxymodel和代理視圖最初並不顯示所有記錄,直到我更改代理過濾條件 - 也就是說,我必須觸發其餘記錄的加載。
非常感謝您的快速回復。 – GM65
解決了這個問題。 – GM65