Django Ошибка SessionWizardView ModelMultipleChoiceField - PullRequest
1 голос
/ 30 марта 2020

Я реализую formtools.wizard.views , и в первой форме у меня есть ModelMultipleChoiceField , когда я выбираю опцию и перехожу к следующему шагу, я могу получить выбранную опцию, но когда Когда я перехожу к предыдущему шагу, и при отправке формы он выдает ниже исключение

, если не queryset._prefetch_related_lookups:
AttributeError: у объекта 'NoneType' нет атрибута '_prefetch_related_lookups'

# **form 1**
class Form1(forms.Form):
    person = forms.ModelMultipleChoiceField(label=_("Student"), queryset=None, required=False)

# **form 2**
class Form2(forms.Form):
    classification = forms.ChoiceField(label=_("Classification"), choices=classification_appointment)


# **view**
class AddAppointment(SessionWizardView):
    template_name = "appointment/appointment_form_add_using_stepper.html"

    def get(self, request, *args, **kwargs):
        try:
            form = self.get_form()
            if form.prefix == "0":
                form.fields["person"].queryset = Person.objects.filter(user_id=self.request.user.id,
                                                                       classification="student").order_by(
                    'first_name')
return self.render(form)
        except KeyError:
            return super().get(request, *args, **kwargs)
#**url**
path('application_form/', AddAppointment.as_view([Form1, Form2])

ПРИМЕЧАНИЕ: требования python 3.7 Django == 2.2.7 django -formtools2.2

...