From cf946f2beec0388a5b8634b50b57e1a722439b9c Mon Sep 17 00:00:00 2001 From: Boris Besemer Date: Tue, 10 Jan 2017 12:37:36 +0100 Subject: [PATCH] removes related prefetch --- src/personalisation/adapters.py | 4 ++-- src/personalisation/models.py | 3 +-- tests/unit/test_middleware.py | 2 ++ 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/personalisation/adapters.py b/src/personalisation/adapters.py index 5891c5a..508033f 100644 --- a/src/personalisation/adapters.py +++ b/src/personalisation/adapters.py @@ -74,13 +74,13 @@ class SessionSegmentsAdapter(BaseSegmentsAdapter): self.request.session['segments'] = current_segments - segments = Segment.objects.filter(status='enabled').prefetch_related('rules') + segments = Segment.objects.filter(status='enabled') for segment in segments: rules = AbstractBaseRule.__subclasses__() segment_rules = [] for rule in rules: - segment_rules += segments.rules.filter(segment=segment, pk=rule.pk) + segment_rules += rule.objects.filter(segment=segment) result = self._test_rules(segment_rules, self.request) if result: diff --git a/src/personalisation/models.py b/src/personalisation/models.py index df72f71..31a2392 100644 --- a/src/personalisation/models.py +++ b/src/personalisation/models.py @@ -183,7 +183,6 @@ class QueryRule(AbstractBaseRule): @python_2_unicode_compatible class UserIsLoggedInRule(AbstractBaseRule): """User should be logged in""" - is_logged_in = models.BooleanField(default=False) panels = [ @@ -337,7 +336,7 @@ class PersonalisablePage(Page): return not self.canonical_page and self.has_variations -@cached_classmethod +@cached_classmethodx def get_edit_handler(cls): tabs = [] if cls.content_panels: diff --git a/tests/unit/test_middleware.py b/tests/unit/test_middleware.py index 0742359..f6159da 100644 --- a/tests/unit/test_middleware.py +++ b/tests/unit/test_middleware.py @@ -227,6 +227,8 @@ class TestUserSegmenting(object): ) client.get('/?test=test') + import pdb + pdb.set_trace() assert any(item['encoded_name'] == 'match-any' for item in client.session['segments'])