def _sortQuery(self):
''' Sort the query by a given parameter '''
if not isinstance(self.sort, type(None)):
# set the sort variable ModelClass parameter
sortparam = self.marvinform._param_form_lookup.mapToColumn(self.sort)
# If order is specified, then do the sort
if self.order:
assert self.order in ['asc', 'desc'], 'Sort order parameter must be either "asc" or "desc"'
# Check if order by already applied
if 'ORDER' in str(self.query.statement):
self.query = self.query.order_by(None)
# Do the sorting
if 'desc' in self.order:
self.query = self.query.order_by(desc(sortparam))
else:
self.query = self.query.order_by(sortparam)
评论列表
文章目录