python + objectlistview + updatelist

У меня есть список объектов. Я удаляю строку из нее и затем хочу обновить список без удаленной строки. Я заполняю список данными из базы данных. Я попытался repopulatelist, но затем, кажется, использовать данные, которые уже есть в списке.

Я думаю, что могу решить эту проблему с помощью clearAll (очистка списка), а затем добавить объекты и снова добавить базу данных. Но похоже, что можно просто обновить список. Это мой код:

def deletemeas(self):

    MAid = self.objectma.id
    MAname = self.pagename

    objectsRemList = self.tempmeasurements.GetCheckedObjects()

    print 'objectremlist', objectsRemList
    for measurement in objectsRemList:
        print measurement
        Measname = measurement.filename
        Measid = database.Measurement.select(database.Measurement.q.filename == Measname)[0].id
        deleteMeas = []
        deleteMeas.append(MAid)
        deleteMeas.append(Measid)
        pub.sendMessage('DELETE_MEAS', Container(data=deleteMeas)) #to microanalyse controller
    #here I get the latest information from the database what should be viewed in the objectlist self.tempmeasurements
    MeasInListFromDB = list(database.Microanalysismeasurement.select(database.Microanalysismeasurement.q.microanalysisid == MAid))

    print 'lijstmetingen:', MeasInListFromDB
    #this doesn't work
    self.tempmeasurements.RefreshObjects(MeasInListFromDB) 

1 ответ

Решение

Хорошо, это было на самом деле проще, чем я думал...

Я добавил эту строку:

self.tempmeasurements.RemoveObject(measurement)

Поэтому я сначала удалил данные из таблицы базы данных, а затем просто удалил строку в моем объектном просмотре.

Другие вопросы по тегам