class BaseModelMixin: def find_by_key(self): ... def upsert(self): result = self.find_by_key() session = self._db.session if result: session.delete(result) session.flush() session.add(self) session.commit()