Added Reverse option to SortedLists
Thanks Stephen Young for the patch closes #364
This commit is contained in:
parent
fbe8b28b2e
commit
6cef571bfb
4 changed files with 33 additions and 2 deletions
|
|
@ -511,20 +511,24 @@ class SortedListField(ListField):
|
|||
retrieved.
|
||||
|
||||
.. versionadded:: 0.4
|
||||
.. versionchanged:: 0.6 - added reverse keyword
|
||||
"""
|
||||
|
||||
_ordering = None
|
||||
_order_reverse = False
|
||||
|
||||
def __init__(self, field, **kwargs):
|
||||
if 'ordering' in kwargs.keys():
|
||||
self._ordering = kwargs.pop('ordering')
|
||||
if 'reverse' in kwargs.keys():
|
||||
self._order_reverse = kwargs.pop('reverse')
|
||||
super(SortedListField, self).__init__(field, **kwargs)
|
||||
|
||||
def to_mongo(self, value):
|
||||
value = super(SortedListField, self).to_mongo(value)
|
||||
if self._ordering is not None:
|
||||
return sorted(value, key=itemgetter(self._ordering))
|
||||
return sorted(value)
|
||||
return sorted(value, key=itemgetter(self._ordering), reverse=self._order_reverse)
|
||||
return sorted(value, reverse=self._order_reverse)
|
||||
|
||||
|
||||
class DictField(ComplexBaseField):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue