def delete(self): db = self.get_sa_session() model = self.get_sa_model() result = {} for id in request.params.getall('id'): try: item = db.query(model.ChangeCategory).filter_by(uid=id).one() except InvalidRequestError: result[id] = { "deleted" : False, "message": Messages.elementNotFound(key=id) } continue if (db.query(model.BalanceChange).filter_by(change_category_uid=item.uid).count() > 0): result[item.uid] = { "deleted" : False, "message" : Messages.changeCategoryInUse(id=item.uid) } else: try: db.delete(item) db.commit() result[item.uid] = { "deleted" : True, } except Exception, e: result[item.uid] = { "deleted" : False, "message" : Messages.failedToDelete(exception=e), }