docs: def _get_next_or_previous_by_publish_date(self, is_next, **kwargs):
          """
          Retrieves next or previous object by publish date. We implement
          our own version instead of Django's so we can hook into the
          published manager and concrete subclasses.
          """
          arg = "publish_date__gt" if is_next else "publish_date__lt"
          order = "publish_date" if is_next else "-publish_date"
          lookup = {arg: self.publish_date}
          concrete_model = base_concrete_model(Displayable, self)
          try:
              queryset = concrete_model.objects.published
          except AttributeError:
              queryset = concrete_model.objects.all
          try:
              return queryset(**kwargs).filter(**lookup).order_by(order)[0]
          except IndexError:
              pass