fixes wagtail2 compatibility
return QuerySets instead of lists
This commit is contained in:
@@ -80,15 +80,11 @@ class Segment(ClusterableModel):
|
|||||||
|
|
||||||
def get_used_pages(self):
|
def get_used_pages(self):
|
||||||
"""Return the pages that have variants using this segment."""
|
"""Return the pages that have variants using this segment."""
|
||||||
pages = list(PersonalisablePageMetadata.objects.filter(segment=self))
|
return PersonalisablePageMetadata.objects.filter(segment=self)
|
||||||
|
|
||||||
return pages
|
|
||||||
|
|
||||||
def get_created_variants(self):
|
def get_created_variants(self):
|
||||||
"""Return the variants using this segment."""
|
"""Return the variants using this segment."""
|
||||||
pages = Page.objects.filter(_personalisable_page_metadata__segment=self)
|
return Page.objects.filter(_personalisable_page_metadata__segment=self)
|
||||||
|
|
||||||
return pages
|
|
||||||
|
|
||||||
def get_rules(self):
|
def get_rules(self):
|
||||||
"""Retrieve all rules in the segment."""
|
"""Retrieve all rules in the segment."""
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
import time
|
import time
|
||||||
|
|
||||||
|
from django.db.models import F
|
||||||
from django.template.base import FilterExpression, kwarg_re
|
from django.template.base import FilterExpression, kwarg_re
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
|
|
||||||
@@ -103,9 +104,8 @@ def exclude_variants(pages):
|
|||||||
:return: List of pages that aren't variants
|
:return: List of pages that aren't variants
|
||||||
:rtype: list
|
:rtype: list
|
||||||
"""
|
"""
|
||||||
return [page for page in pages
|
return (
|
||||||
if (hasattr(page, 'personalisation_metadata') is False)
|
pages.filter(
|
||||||
or (hasattr(page, 'personalisation_metadata')
|
personalisable_canonical_metadata__canonical_page_id=F(
|
||||||
and page.personalisation_metadata is None)
|
'personalisable_canonical_metadata__variant__id'))
|
||||||
or (hasattr(page, 'personalisation_metadata')
|
)
|
||||||
and page.personalisation_metadata.is_canonical)]
|
|
||||||
|
Reference in New Issue
Block a user