def match(self, dataset, data, account): state = LinkMatchState(dataset) data = LinkMatchSchema().to_python(data, state) self.is_matched = True self.matcher = account if data['choice'] == 'INVALID': self.value = None self.is_invalid = True elif data['choice'] == 'NEW': self.value = Value.create(dataset, data, account) self.is_invalid = False else: self.value = data['choice'] self.is_invalid = False db.session.add(self) db.session.flush()