diff --git a/src/pretix/plugins/sendmail/models.py b/src/pretix/plugins/sendmail/models.py index 07ea3bb178..ed19a368b3 100644 --- a/src/pretix/plugins/sendmail/models.py +++ b/src/pretix/plugins/sendmail/models.py @@ -23,7 +23,7 @@ from datetime import datetime, time, timedelta from dateutil.tz import datetime_exists from django.db import models -from django.db.models import Exists, F, OuterRef, Q +from django.db.models import Exists, OuterRef, Q from django.utils import timezone from django.utils.formats import date_format from django.utils.timezone import make_aware, now @@ -166,8 +166,7 @@ class ScheduledMail(models.Model): for o in orders: with language(o.locale, e.settings.region): - positions = list(o.positions.all().order_by(F("addon_to_id").asc( - nulls_first=True))) # ordered to make sure we always handle parent order positions before add-ons + positions = list(o.positions.all()) o_sent = False try: diff --git a/src/pretix/plugins/sendmail/tasks.py b/src/pretix/plugins/sendmail/tasks.py index 57204085e5..83c4cfbce3 100644 --- a/src/pretix/plugins/sendmail/tasks.py +++ b/src/pretix/plugins/sendmail/tasks.py @@ -33,7 +33,7 @@ # License for the specific language governing permissions and limitations under the License. from datetime import datetime -from django.db.models import Exists, F, OuterRef, Q +from django.db.models import Exists, OuterRef, Q from i18nfield.strings import LazyI18nString from pretix.base.email import get_email_context @@ -86,8 +86,7 @@ def send_mails_to_orders(event: Event, user: int, subject: dict, message: dict, list_id__in=checkin_lists or [] ) ), - ).order_by(F("addon_to_id").asc(nulls_first=True)).prefetch_related('addons', 'subevent'): - # ordered QuerySet to make sure we always handle parent order positions before add-ons + ).order_by('pk').prefetch_related('addons', 'subevent'): is_addon = p.addon_to_id is not None