繁体   English   中英

如何在不显示的情况下保存 django 表单

[英]How to save django form without displaying it

我有一个显示父表单和子表单集的页面(se_balance.html)。 父表单的内容由用户在上一页选择的链接设置。 我只想显示要保存的表单集和父表单而不显示,但是,如果我在 html 中没有父表单,我会收到与父表单无效相关的错误。

这是用于生成相关页面的视图

class CaseView(TemplateView):
    model = Case
    template_name = "../templates/se_balance.html"
    
    def get(self, *args, **kwargs):

        # here the parent form is created based on user selected link from previous page
    p = self.request.GET.get("p", None)
    case_form = CaseForm(initial={'pharm_class_name': p}) #i

        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},
                )
            )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM