This commit is contained in:
Ross
2020-12-28 22:40:42 +00:00
parent 894bedd4d0
commit 46c707ac8a
4 changed files with 90 additions and 16 deletions
+14 -16
View File
@@ -40,9 +40,8 @@ class MarkAnatomyQuestionForm(Form):
class AnatomyQuestionForm(ModelForm):
exams = ModelMultipleChoiceField(queryset=Exam.objects.all())
exams = ModelMultipleChoiceField(required=False, queryset=Exam.objects.all())
class Media:
# Django also includes a few javascript files necessary
# for the operation of this form element. You need to
@@ -89,20 +88,18 @@ class AnatomyQuestionForm(ModelForm):
queryset=BodyPart.objects.all(),
)
#self.fields["exams"] = ModelChoiceField(
# self.fields["exams"] = ModelChoiceField(
# required=False,
# queryset=Exam.objects.all(),
#)
# )
if kwargs.get('instance'):
if kwargs.get("instance"):
# We get the 'initial' keyword argument or initialize it
# as a dict if it didn't exist.
initial = kwargs.setdefault('initial', {})
initial = kwargs.setdefault("initial", {})
# 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.all()]
initial["exams"] = [t.pk for t in kwargs["instance"].exams.all()]
ModelForm.__init__(self, *args, **kwargs)
@@ -117,13 +114,13 @@ class AnatomyQuestionForm(ModelForm):
old_save_m2m()
# This is where we actually link the pizza with toppings
instance.exams.clear()
for exam in self.cleaned_data['exams']:
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:
# if commit:
instance.save()
self.save_m2m()
@@ -152,7 +149,7 @@ AnswerFormSet = inlineformset_factory(
fields=["answer", "status"],
widgets={
"answer": Textarea(
attrs={"required": "true", "minlength": 2, "maxlength": 500, 'rows': 3}
attrs={"required": "true", "minlength": 2, "maxlength": 500, "rows": 3}
)
},
exclude=[],
@@ -168,7 +165,7 @@ AnswerUpdateFormSet = inlineformset_factory(
fields=["answer", "status"],
widgets={
"answer": Textarea(
attrs={"required": "true", "minlength": 2, "maxlength": 500, 'rows': 3}
attrs={"required": "true", "minlength": 2, "maxlength": 500, "rows": 3}
)
},
exclude=[],
@@ -178,19 +175,20 @@ AnswerUpdateFormSet = inlineformset_factory(
field_classes="testing",
)
class ExaminationForm(ModelForm):
class Meta:
model = Examination
fields = ['examination']
fields = ["examination"]
class StructureForm(ModelForm):
class Meta:
model = Structure
fields = ['structure']
fields = ["structure"]
class BodyPartForm(ModelForm):
class Meta:
model = BodyPart
fields = ['bodypart']
fields = ["bodypart"]