.
This commit is contained in:
+4
-3
@@ -122,11 +122,12 @@ class AnatomyQuestionForm(ModelForm):
|
|||||||
new_exams = self.cleaned_data["exams"]
|
new_exams = self.cleaned_data["exams"]
|
||||||
|
|
||||||
for exam in old_exams:
|
for exam in old_exams:
|
||||||
if exam in new_exams:
|
if exam not in new_exams:
|
||||||
exam.exam_questions.add(instance)
|
|
||||||
else:
|
|
||||||
exam.exam_questions.remove(instance)
|
exam.exam_questions.remove(instance)
|
||||||
|
|
||||||
|
for exam in new_exams:
|
||||||
|
exam.exam_questions.add(instance)
|
||||||
|
|
||||||
self.save_m2m()
|
self.save_m2m()
|
||||||
|
|
||||||
return instance
|
return instance
|
||||||
|
|||||||
+11
-16
@@ -227,24 +227,19 @@ class LongForm(ModelForm):
|
|||||||
}
|
}
|
||||||
|
|
||||||
def save(self, commit=True):
|
def save(self, commit=True):
|
||||||
# Get the unsaved Long instance
|
|
||||||
instance = ModelForm.save(self, False)
|
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()
|
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()
|
self.save_m2m()
|
||||||
|
|
||||||
return instance
|
return instance
|
||||||
|
|||||||
Reference in New Issue
Block a user