def remove_todo(self, field, records):
""" Mark `field` as recomputed on `records`. """
- recs_list = self.all.todo.get(field, [])
- if records in recs_list:
- recs_list.remove(records)
- if not recs_list:
- del self.all.todo[field]
+ recs_list = [recs - records for recs in self.all.todo.pop(field, [])]
+ recs_list = filter(None, recs_list)
+ if recs_list:
+ self.all.todo[field] = recs_list
def has_todo(self):
""" Return whether some fields must be recomputed. """