photocrowd / django-cursor-pagination

Cursor-based pagination for Django
BSD 3-Clause "New" or "Revised" License
156 stars 27 forks source link

[bug] Orderings that span relationships are not handled. #10

Closed adamkowalczyk closed 7 years ago

adamkowalczyk commented 8 years ago

e.g.

  File "/Users/adam/coding/photocrowd/api/cursor.py", line 15, in connection_from_cursor_paginated
    edge = edge_type(node=item, cursor=paginator.cursor(item))
  File "/Users/adam/.virtualenvs/photocrowd/lib/python2.7/site-packages/cursor_pagination.py", line 119, in cursor
    return self.encode_cursor(self.position_from_instance(instance))
  File "/Users/adam/.virtualenvs/photocrowd/lib/python2.7/site-packages/cursor_pagination.py", line 114, in position_from_instance
    attr = getattr(instance, order.lstrip('-'))
AttributeError: 'Submission' object has no attribute 'judge_feedback__placing'

line 114 in cursor_paginator.py

Solution: Split ordering on __ and recursively getattr