From 02b2e99df4215164c64f164c6338f1b0f43bc3fc Mon Sep 17 00:00:00 2001 From: Mohammad Hossein Gerami Date: Thu, 7 Mar 2019 11:19:34 +0330 Subject: [PATCH] CursorPagination doesn't support nested field orderding _get_position_from_instance couldn't find nested field model for example user__post__created_at --- rest_framework/pagination.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/rest_framework/pagination.py b/rest_framework/pagination.py index b11d7cdf3..6e1f7912d 100644 --- a/rest_framework/pagination.py +++ b/rest_framework/pagination.py @@ -772,7 +772,13 @@ class CursorPagination(BasePagination): if isinstance(instance, dict): attr = instance[field_name] else: - attr = getattr(instance, field_name) + if '__' in field_name: + field_names_nested = field_name.split('__') + attr = instance + for field in field_names_nested: + attr = getattr(attr, field) + else: + attr = getattr(instance, field_name) return six.text_type(attr) def get_paginated_response(self, data):