From 59f7098a700040fcb6af9c3c0ebfd9043194adaa Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Mon, 26 Aug 2019 16:57:48 +0200 Subject: [PATCH] Clean up duplicate seats when generating seats --- src/pretix/base/services/seating.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/pretix/base/services/seating.py b/src/pretix/base/services/seating.py index bd2b457410..8094bd9ab6 100644 --- a/src/pretix/base/services/seating.py +++ b/src/pretix/base/services/seating.py @@ -25,10 +25,12 @@ def validate_plan_change(event, subevent, plan): def generate_seats(event, subevent, plan, mapping): - current_seats = { - s.seat_guid: s for s in - event.seats.select_related('product').annotate(has_op=Count('orderposition')).filter(subevent=subevent) - } + current_seats = {} + for s in event.seats.select_related('product').annotate(has_op=Count('orderposition')).filter(subevent=subevent): + if s.seat_guid in current_seats: + s.delete() # Duplicates should not exist + else: + current_seats[s.seat_guid] = s def update(o, a, v): if getattr(o, a) != v: