This commit is contained in:
Ross
2022-03-01 19:21:38 +00:00
parent d2042b646a
commit 4ff9cc2dce
2 changed files with 15 additions and 19 deletions
+4 -3
View File
@@ -122,11 +122,12 @@ class AnatomyQuestionForm(ModelForm):
new_exams = self.cleaned_data["exams"]
for exam in old_exams:
if exam in new_exams:
exam.exam_questions.add(instance)
else:
if exam not in new_exams:
exam.exam_questions.remove(instance)
for exam in new_exams:
exam.exam_questions.add(instance)
self.save_m2m()
return instance
+11 -16
View File
@@ -227,24 +227,19 @@ class LongForm(ModelForm):
}
def save(self, commit=True):
# Get the unsaved Long instance
instance = ModelForm.save(self, False)
# Prepare a 'save_m2m' method for the form,
old_save_m2m = self.save_m2m
def save_m2m():
old_save_m2m()
instance.exams.clear()
for exam in self.cleaned_data["exams"]:
# We need the id here
instance.exams.add(exam.pk)
self.save_m2m = save_m2m
# Do we need to save all changes now?
# if commit:
instance.save()
old_exams = instance.exams.all()
new_exams = self.cleaned_data["exams"]
for exam in old_exams:
if exam not in new_exams:
exam.exam_questions.remove(instance)
for exam in new_exams:
exam.exam_questions.add(instance)
self.save_m2m()
return instance