diff --git a/wagtail/wagtailcore/models.py b/wagtail/wagtailcore/models.py index 3b90e9c0e..1864f5c88 100644 --- a/wagtail/wagtailcore/models.py +++ b/wagtail/wagtailcore/models.py @@ -650,20 +650,10 @@ class Page(MP_Node, ClusterableModel, Indexed): return Page.objects.sibling_of(self, inclusive) def get_next_published_sibling(self): - next_sibling = self.get_next_sibling() - - while next_sibling and not next_sibling.live: - next_sibling = next_sibling.get_next_sibling() - - return next_sibling + return self.get_siblings().live().filter(path__gt=self.path).order_by('path').first() def get_prev_published_sibling(self): - prev_sibling = self.get_prev_sibling() - - while prev_sibling and not prev_sibling.live: - prev_sibling = prev_sibling.get_prev_sibling() - - return prev_sibling + return self.get_siblings().live().filter(path__lt=self.path).order_by('-path').first() def get_navigation_menu_items(): # Get all pages that appear in the navigation menu: ones which have children,