CursorPagination doesn't support nested field orderding

_get_position_from_instance couldn't find nested field model
for example user__post__created_at
This commit is contained in:
Mohammad Hossein Gerami 2019-03-07 11:19:34 +03:30 committed by GitHub
parent 9d06e43d05
commit 02b2e99df4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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):