Сделать родительскую модель django доступной для набора форм, не отображая ее в html
У меня есть страница1 с двумя ссылками ('A' и 'B'), на которой конкретная ссылка, на которую нажимают, определяет параметр запроса /page2/?q=A или /page2/?q=B. На странице 2 пользователь заполняет инлайн-форму, родительская форма которой имеет значение 'A' или 'B' в зависимости от ссылки, нажатой на предыдущей странице.
Я не хочу отображать родительскую форму, но если она не отображается, то я не могу успешно сохранить набор форм и родительскую форму.
В файле views.py для страницы 2 есть:
class CaseView(TemplateView):
model = Case
template_name = “page2/page2.html”
def get(self, *args, **kwargs):
# parent form
case_form = CaseForm
# child formset
sideeffect_formset = SideeffectFormSet(queryset=SideEffect.objects.none())
return self.render_to_response(
{ "case_form": case_form,
"sideeffect_formset": sideeffect_formset,
"sideeffect_formsethelper": SideEffectFormSetSetHelper,
}
)
def post(self, *args, **kwargs):
form = CaseForm(data=self.request.POST)
sideeffect_formset = SideeffectFormSet(data=self.request.POST)
if form.is_valid():
case_instance = form.save(commit=False)
if self.request.user.is_authenticated:
case_instance.user = self.request.user
case_instance.save()
if sideeffect_formset.is_valid():
sideeffect_name = sideeffect_formset.save(commit=False)
for sideeffect in sideeffect_name:
sideeffect.case = case_instance
sideeffect.save()
return redirect(
reverse(
"results",
kwargs={"case_id": case_instance.case_id},
)
)
Я хочу иметь возможность сохранять CaseForm и иметь ее доступной для дочернего набора форм без фактического отображения CaseForm в html