From 2ed684baed1d5fb932dbc158ccf1be8d6066b8ed Mon Sep 17 00:00:00 2001 From: Ross Date: Thu, 25 Nov 2021 18:59:22 +0000 Subject: [PATCH] . --- atlas/forms.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/atlas/forms.py b/atlas/forms.py index d1bed07f..07ee4739 100755 --- a/atlas/forms.py +++ b/atlas/forms.py @@ -74,6 +74,29 @@ class SeriesForm(ModelForm): widget=FilteredSelectMultiple(verbose_name="Case", is_stacked=False), ) + 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.case.clear() + for case in self.cleaned_data["case"]: + # We need the id here + instance.case.add(case.pk) + + self.save_m2m = save_m2m + + # Do we need to save all changes now? + # if commit: + instance.save() + self.save_m2m() + + return instance + class Meta: model = Series exclude = ["author"]