From e07ba636f9b8eb33a8f9e78c9c88363a64b50fcb Mon Sep 17 00:00:00 2001 From: Ross Date: Thu, 24 Feb 2022 19:16:08 +0000 Subject: [PATCH] . --- rapids/forms.py | 15 --------------- rapids/views.py | 12 ++++++++---- 2 files changed, 8 insertions(+), 19 deletions(-) diff --git a/rapids/forms.py b/rapids/forms.py index 4b30fe6d..71d9c069 100755 --- a/rapids/forms.py +++ b/rapids/forms.py @@ -134,21 +134,6 @@ class RapidForm(ModelForm): for exam in self.cleaned_data["exams"]: exam.exam_questions.add(instance) - # # Prepare a 'save_m2m' method for the form, - # old_save_m2m = self.save_m2m - # - # def save_m2m(): - # old_save_m2m() - # # This is where we actually link the pizza with toppings - # instance.exams.clear() - # for exam in self.cleaned_data["exams"]: - # instance.exams.add(exam) - # - # self.save_m2m = save_m2m - # - # # Do we need to save all changes now? - # # if commit: - # instance.save() self.save_m2m() return instance diff --git a/rapids/views.py b/rapids/views.py index e3e368c7..96e7c7b0 100755 --- a/rapids/views.py +++ b/rapids/views.py @@ -370,11 +370,15 @@ class RapidUpdate( answer_formset.save() # restore exam orders + wanted_exams = form["exams"].data for exam in self.object.exams.all(): - if exam in exam_orders and self.object in exam_orders[exam]: - print(exam_orders[exam]) - exam.exam_questions.set(exam_orders[exam]) - exam.save() + # Only readd if exam is still added + # There is probably a better way to do this + if str(exam.pk) in wanted_exams: + if exam in exam_orders and self.object in exam_orders[exam]: + print(exam_orders[exam]) + exam.exam_questions.set(exam_orders[exam]) + exam.save() return response else: