Всем привет! Помогите разобраться.
из
model = QSqlTableModel()
получаю таблицу с некоторым количеством полей.
Далее ставлю на нее фильтр:
def update_list(): тут пытаюсь заменить все значения "значение_1" на "значение_2" во второй колонке
i = 0 #счетцик
while i < model_list.rowCount():
model_list.setData(model_list.index(i, 2), 'значение_2') в этом моменте происходит магия. см. ниже
print ('счетчик ',i)
i = i+1
print ('количество строк',model_list.rowCount())
model.select()
print('Обновление')
model_list = QSortFilterProxyModel()
model_list.setSourceModel(model)
model_list.setFilterCaseSensitivity(Qt.CaseInsensitive)
model_list.setFilterKeyColumn(2)
model_list.setFilterFixedString('значение_1')
update_list()
На выходе получается какая то ерись.
Меняются не все значения, а только половина в произвольном порядке.
Что я делаю не так? Может есть другой способ поменять значения в QSortFilterProxyModel() одним разом?
P. S. код может содержать неточности поскольку я не первый раз пытаюсь его заставить работать.