def get_object(self):
query = self.get_query()
query = self.filter_query(query)
model_class = self.get_model_class()
id_type = inspect(model_class).columns['id'].type
obj_id = request.view_args['id']
if isinstance(id_type, Integer):
try:
obj_id = int(obj_id)
except ValueError:
raise NotFound()
elif isinstance(id_type, postgresql.UUID):
try:
# Check the ID is a valid UUID so don't try
# to query with an invalid UUID.
uuid.UUID(obj_id)
except ValueError:
raise NotFound()
query = query.filter(model_class.id == obj_id)
try:
obj = query.one()
except NoResultFound:
raise NotFound()
self.check_object_permissions(obj)
return obj
评论列表
文章目录