From 7f43d50781d1551deff77f7bab0f80e8efe4db21 Mon Sep 17 00:00:00 2001 From: Ross Date: Sun, 27 Dec 2020 18:50:57 +0000 Subject: [PATCH] . --- anatomy/forms.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/anatomy/forms.py b/anatomy/forms.py index 5d0c4b27..f3210166 100644 --- a/anatomy/forms.py +++ b/anatomy/forms.py @@ -39,6 +39,10 @@ class MarkAnatomyQuestionForm(Form): class AnatomyQuestionForm(ModelForm): + + exams = ModelMultipleChoiceField(queryset=Exam.objects.all()) + + class Media: # Django also includes a few javascript files necessary # for the operation of this form element. You need to @@ -85,10 +89,10 @@ class AnatomyQuestionForm(ModelForm): queryset=BodyPart.objects.all(), ) - self.fields["exams"] = ModelChoiceField( - required=False, - queryset=Exam.objects.all(), - ) + #self.fields["exams"] = ModelChoiceField( + # required=False, + # queryset=Exam.objects.all(), + #) # Only in case we build the form from an instance @@ -100,7 +104,7 @@ class AnatomyQuestionForm(ModelForm): # The widget for a ModelMultipleChoiceField expects # a list of primary key for the selected data. initial['exams'] = [t.pk for t in - kwargs['instance'].exams_set.all()] + kwargs['instance'].exams.all()] ModelForm.__init__(self, *args, **kwargs) @@ -114,16 +118,16 @@ class AnatomyQuestionForm(ModelForm): def save_m2m(): old_save_m2m() # This is where we actually link the pizza with toppings - instance.exams_set.clear() + instance.exams.clear() for exam in self.cleaned_data['exams']: - instance.exams_set.add(exam) + instance.exams.add(exam) self.save_m2m = save_m2m # Do we need to save all changes now? - if commit: - instance.save() - self.save_m2m() + #if commit: + instance.save() + self.save_m2m() return instance