Guest User

Untitled

a guest
Dec 12th, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.95 KB | None | 0 0
  1. def apply_sorting(self, obj_list, options=None):
  2. """ override apply_sorting to enable random sorting """
  3. try:
  4. return super(CatResource, self).apply_sorting(obj_list, options)
  5. except InvalidSortError:
  6.  
  7. parameter_name = 'order_by'
  8.  
  9. if hasattr(options, 'getlist'):
  10. order_bits = options.getlist(parameter_name)
  11. else:
  12. order_bits = options.get(parameter_name)
  13.  
  14. if not isinstance(order_bits, (list, tuple)):
  15. order_bits = [order_bits]
  16.  
  17. for order_by in order_bits:
  18. order_by_bits = order_by.split(LOOKUP_SEP)
  19.  
  20. field_name = order_by_bits[0]
  21.  
  22. if field_name == '?':
  23. return obj_list.order_by(['?'])
  24. else:
  25. raise InvalidSortError("The '%s' field does not allow ordering." % field_name)
Add Comment
Please, Sign In to add comment