simplify filter instead of annotate/get

This commit is contained in:
Richard Schreiber
2026-04-20 10:41:40 +02:00
parent 734872c480
commit 6f54e4b22f

View File

@@ -521,13 +521,12 @@ def _redeem_process(*, checkinlists, raw_barcode, answers_data, datetime, force,
# with respecting the force option), or it's a reusable medium (-> proceed with that)
if not op_candidates:
try:
media = ReusableMedium.objects.active().annotate(
has_linked_orderpositions=Exists(ReusableMedium.linked_orderpositions.through.objects.filter(reusablemedium_id=OuterRef('pk')))
media = ReusableMedium.objects.active().filter(
Exists(ReusableMedium.linked_orderpositions.through.objects.filter(reusablemedium_id=OuterRef('pk')))
).get(
organizer_id=checkinlists[0].event.organizer_id,
type=source_type,
identifier=raw_barcode,
has_linked_orderpositions=True,
)
raw_barcode_for_checkin = raw_barcode
except ReusableMedium.DoesNotExist: