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