support multi-level order_by
This commit is contained in:
parent
548f442e81
commit
289017de00
1 changed files with 8 additions and 1 deletions
|
@ -901,7 +901,14 @@ class QuerySetWrapper(BaseQueryWrapper):
|
|||
for field in ordering:
|
||||
fact = -1 if field[0] == '-' else 1
|
||||
field = field.lstrip('-')
|
||||
val = getattr(obj, field.lstrip('-'))
|
||||
|
||||
field_split = field.split('__')
|
||||
field = field_split.pop()
|
||||
final_obj = obj
|
||||
for subfield in field_split:
|
||||
final_obj = getattr(final_obj, subfield)
|
||||
|
||||
val = getattr(obj, field)
|
||||
if field in ('id', 'pk'):
|
||||
if isinstance(val, int):
|
||||
result.extend((1*fact, val*fact))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue