From ab2084692d22d965b83317f9795b0abd3041a33f Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Tue, 17 Oct 2017 18:05:54 +0200 Subject: [PATCH] Cache organizer instance by domain --- src/pretix/multidomain/middlewares.py | 4 ++-- src/pretix/multidomain/models.py | 2 ++ src/tests/multidomain/test_urlreverse.py | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/pretix/multidomain/middlewares.py b/src/pretix/multidomain/middlewares.py index 416cbd771..e2ce98971 100644 --- a/src/pretix/multidomain/middlewares.py +++ b/src/pretix/multidomain/middlewares.py @@ -40,14 +40,14 @@ class MultiDomainMiddleware(MiddlewareMixin): request.host = domain request.port = int(port) if port else None - orga = cache.get('pretix_multidomain_organizer_{}'.format(domain)) + orga = cache.get('pretix_multidomain_organizer_instance_{}'.format(domain)) if orga is None: try: kd = KnownDomain.objects.select_related('organizer').get(domainname=domain) # noqa orga = kd.organizer except KnownDomain.DoesNotExist: orga = False - cache.set('pretix_multidomain_organizer_{}'.format(domain), orga.pk if orga else False, 3600) + cache.set('pretix_multidomain_organizer_instance_{}'.format(domain), orga, 3600) if orga: request.organizer_domain = True diff --git a/src/pretix/multidomain/models.py b/src/pretix/multidomain/models.py index 23606a234..20247b642 100644 --- a/src/pretix/multidomain/models.py +++ b/src/pretix/multidomain/models.py @@ -21,9 +21,11 @@ class KnownDomain(models.Model): if self.organizer: self.organizer.get_cache().clear() cache.delete('pretix_multidomain_organizer_{}'.format(self.domainname)) + cache.delete('pretix_multidomain_organizer_instance_{}'.format(self.domainname)) def delete(self, *args, **kwargs): if self.organizer: self.organizer.get_cache().clear() cache.delete('pretix_multidomain_organizer_{}'.format(self.domainname)) + cache.delete('pretix_multidomain_organizer_instance_{}'.format(self.domainname)) super().delete(*args, **kwargs) diff --git a/src/tests/multidomain/test_urlreverse.py b/src/tests/multidomain/test_urlreverse.py index 93e3f7348..a8d65f1d9 100644 --- a/src/tests/multidomain/test_urlreverse.py +++ b/src/tests/multidomain/test_urlreverse.py @@ -99,7 +99,7 @@ def test_event_custom_domain_cache(env): }) def test_event_custom_domain_cache_clear(env): kd = KnownDomain.objects.create(domainname='foobar', organizer=env[0]) - env[0].get_cache().clear() + env[0].cache.clear() with assert_num_queries(1): eventreverse(env[1], 'presale:event.index') kd.delete()