def update_relation(self, data):
obj = self.model.query.get(data['id'])
if obj:
obj, errors = self.schema().load(data, instance=obj)
if errors:
raise CustomException(data=data, message=str(errors), operation='updating relation')
if self.has_change_permission(obj, data):
raise CustomException(data=data, message='Permission Denied', operation='adding relation')
try:
db.session.commit()
except IntegrityError:
db.session.rollback()
raise SQLIntegrityError(data=data, message='Integrity Error', operation='Adding Resource', status=400)
except OperationalError:
db.session.rollback()
raise SQlOperationalError(data=data, message='Operational Error', operation='Adding Resource',
status=400)
else:
raise RequestNotAllowed(data=data, message='Object not Found', operation='deleting relation',
status=401)
else:
raise ResourceNotFound(data=data, message='Object not Found', operation='Updating relation', status=404)
评论列表
文章目录