Django Как найти контекстные данные в form_valid, когда они не являются частью формы

У меня есть форма forms.Form, которая просто отображает ModelMultipleChoiceField и возвращает выбор. В шаблоне, который содержит эту форму, я отображаю информацию о пациенте. Я получаю эту информацию в get_context_data, но я не могу получить доступ к информации о пациенте, когда я нахожусь в form_valid. Form.clean_data включает только выбор из формы. Мне нужна информация из контекста, чтобы создать необходимые строки таблицы, используя данные выбора.


class OrderTestsView(FormView):
    """  """
    model = Universal_Test_File
    form_class = TestOrderForm
    success_url = '/list_tests/'
    template_name = "lab/order_tests.html"
   

    def get_context_data(self, *args, **kwargs):
        patient = get_object_or_404(Patient, pk=self.kwargs['pk'])
        context = super(OrderTestsView, self).get_context_data(**kwargs)
        context['patient'] = patient
        return context

### I need to build tables using patient inforamtion along with the choice right here
### but that information, which I have in get_context_data can't be accessed from here
    def form_valid(self, form):
        choice = form.cleaned_data.get("choice")

        if choice:
            for test in choice:
                print(test.service_id, test.test_name)
        return super().form_valid(form)


class TestOrderForm(forms.Form):
    choice = forms.ModelMultipleChoiceField(
        Universal_Test_File.objects.all().order_by('test_name'), to_field_name="service_id")

Вернуться на верх