Чтобы исправить данное сообщение об ошибке, попробуйте изменить значение с
for i in range(self.fieldsList_2.count):
на
for i in range(self.fieldsList_2.count()-1):
count () - 1, поскольку добавленный элемент был добавлен в конецсписок, и если вы хотите сохранить один, вы должны игнорировать последний.
Альтернативой является добавление элемента только в том случае, если дубликатов не существует, вот некоторый псевдокод:
duplicates = self.fieldlist_2.findItems(surv, QtCore.Qt.MatchExactly)
if duplicates.size() == 0:
self.fieldsList_2.addItem(unicode(row[1]))
//skip the loop part since it's not necessary using this alternative