diff --git a/src/c3nav/editor/wrappers.py b/src/c3nav/editor/wrappers.py index 0ad950a9..0eafe1cf 100644 --- a/src/c3nav/editor/wrappers.py +++ b/src/c3nav/editor/wrappers.py @@ -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))