diff --git a/src/pretix/base/models/event.py b/src/pretix/base/models/event.py index c7d87ecb39..b58a73d80d 100644 --- a/src/pretix/base/models/event.py +++ b/src/pretix/base/models/event.py @@ -12,7 +12,7 @@ from django.core.files.storage import default_storage from django.core.mail import get_connection from django.core.validators import RegexValidator from django.db import models -from django.db.models import Exists, OuterRef, Prefetch, Q, Subquery +from django.db.models import Exists, OuterRef, Prefetch, Q, Subquery, Value from django.template.defaultfilters import date as _date from django.utils.crypto import get_random_string from django.utils.formats import date_format @@ -790,7 +790,10 @@ class Event(EventMixin, LoggedModel): 'name_descending': ('-name', 'date_from'), }[ordering] subevs = queryset.annotate( - has_paid_item=self.cache.get_or_set('has_paid_item', lambda: self.items.filter(default_price__gt=0).exists(), 3600) + has_paid_item=Value( + self.cache.get_or_set('has_paid_item', lambda: self.items.filter(default_price__gt=0).exists(), 3600), + output_field=models.BooleanField() + ) ).filter( Q(active=True) & Q(is_public=True) & ( Q(Q(date_to__isnull=True) & Q(date_from__gte=now() - timedelta(hours=24))) diff --git a/src/pretix/presale/views/organizer.py b/src/pretix/presale/views/organizer.py index 95233dc2a3..3f2fce2440 100644 --- a/src/pretix/presale/views/organizer.py +++ b/src/pretix/presale/views/organizer.py @@ -17,7 +17,9 @@ from django.views.generic import ListView, TemplateView from pytz import UTC from pretix.base.i18n import language -from pretix.base.models import Event, EventMetaValue, SubEvent, SubEventMetaValue +from pretix.base.models import ( + Event, EventMetaValue, SubEvent, SubEventMetaValue, +) from pretix.base.services.quotas import QuotaAvailability from pretix.helpers.daterange import daterange from pretix.helpers.formats.de.formats import WEEK_FORMAT