From 43f91f5a09c9e305234229e13571241f48203bc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Chmela=C5=99?= Date: Tue, 24 Sep 2019 10:23:46 +0200 Subject: [PATCH] Fix sorting by related fields Allow sorting by `related_field__field_name` using django notation with `__` as separator. --- rest_framework/pagination.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/rest_framework/pagination.py b/rest_framework/pagination.py index 1a1ba2f65..81fc73d7b 100644 --- a/rest_framework/pagination.py +++ b/rest_framework/pagination.py @@ -873,7 +873,9 @@ class CursorPagination(BasePagination): if isinstance(instance, dict): attr = instance[field_name] else: - attr = getattr(instance, field_name) + attr = instance + for field in field_name.split('__'): + attr = getattr(attr, field) return str(attr) def get_paginated_response(self, data):