docs: def _get_next_or_previous_by_order(self, is_next, **kwargs):
          """
          Retrieves next or previous object by order. We implement our
          own version instead of Django's so we can hook into the
          published manager, concrete subclasses and our custom
          ``with_respect_to`` method.
          """
          lookup = self.with_respect_to()
          lookup["_order"] = self._order + (1 if is_next else -1)
          concrete_model = base_concrete_model(Orderable, self)
          try:
              queryset = concrete_model.objects.published
          except AttributeError:
              queryset = concrete_model.objects.filter
          try:
              return queryset(**kwargs).get(**lookup)
          except concrete_model.DoesNotExist:
              pass