From 8074ed4bbc087813a922a52d65cedc523f99e721 Mon Sep 17 00:00:00 2001 From: Sage Abdullah Date: Thu, 29 Jun 2023 11:34:00 +0100 Subject: [PATCH] Add not_page_revisions method to RevisionQuerySet and RevisionsManager Also simplify RevisionsManager definition using Manager.from_queryset() --- wagtail/models/__init__.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/wagtail/models/__init__.py b/wagtail/models/__init__.py index edf7bfd2d70c..eb4fd133d876 100644 --- a/wagtail/models/__init__.py +++ b/wagtail/models/__init__.py @@ -2656,8 +2656,14 @@ class Meta: class RevisionQuerySet(models.QuerySet): + def page_revisions_q(self): + return Q(base_content_type=get_default_page_content_type()) + def page_revisions(self): - return self.filter(base_content_type=get_default_page_content_type()) + return self.filter(self.page_revisions_q()) + + def not_page_revisions(self): + return self.exclude(self.page_revisions_q()) def submitted(self): return self.filter(submitted_for_moderation=True) @@ -2671,12 +2677,7 @@ def for_instance(self, instance): ) -class RevisionsManager(models.Manager): - def get_queryset(self): - return RevisionQuerySet(self.model, using=self._db) - - def for_instance(self, instance): - return self.get_queryset().for_instance(instance) +RevisionsManager = models.Manager.from_queryset(RevisionQuerySet) class PageRevisionsManager(RevisionsManager):