def _set_many(self, obj, value, from_opposite=False, from_load=False) -> None: if not isinstance(value, self.type): raise AttributeError( f"Value should be of type {self.type.__name__}") # Set the actual value c: collection = self._get_many(obj) if value in c: if from_load: c.items.remove(value) c.items.append(value) return c.items.append(value) try: self._set_opposite(obj, value, from_opposite) except Exception: c.items.pop() raise self.handle(AssociationAdded(obj, self, value))
def _set_many(self, obj, value, from_opposite) -> None: if not isinstance(value, self.type): raise AttributeError( f"Value should be of type {self.type.__name__}") # Set the actual value c: collection = self._get_many(obj) if value in c: return c.items.append(value) self._set_opposite(obj, value, from_opposite) self.handle(AssociationAdded(obj, self, value))