繁体   English   中英

Django2:使用手动方法将实例保存到视图中的模型表单集中的模型中

Django2: Saving instances to model from model formset in view using manual methods

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有一个表单集,可以在视图中创建模型实例。 但是,这是很多代码,为了将其分开,我使用手动的类视图方法:

class ClassView(LoginRequiredMixin, GroupRequiredMixin, View):

      template_name = 'form.html'
      form = Form

      get(self, request, *args, **kwargs):

          formset = modelformset_factory(
                Model,
                form=self.form,
                formset=BaseFormSet,
                extra=0,
            )

         self.formset = formset(queryset=qs)


    def post(self, request, *args, **kwargs):

        user = request.user

        formset = modelformset_factory(
                    Model,
                    form=self.formform,
                    formset=BaseCRVFormSet,
                    extra=0,
                )

        if request.POST['submit'] == 'Submit form':

            sample_id = request.POST.get('sample_id')
            obj = Sample.objects.get(
                        id=sample_id
                    )

            formset = formset(request.POST)

            if formset.is_valid():

                for form in formset:
                    self.reportVariant(form)

                self.reportSample(obj, user)



    def reportVariant(self, form):

         crv_obj = form.save(commit=False)
         report = form.clean_report()           

        if report == 'report':

            # Final report for variant
            crv_obj.final_reported = True
            crv_obj.final_report_date = timezone.now()
            crv_obj.final_vasr_id = crv_obj.primary_vasr_id

            crv_obj.primary_vasr_id = None

            crv_obj.save()

        else:
            ...more...


    def reportSample(self, obj, user):

          ... more saving to model ...

我的问题是,我应该在表单类中这样做吗? 清理后,在窗体类中额外调用我的方法reportVariant()方法?

问题暂未有回复.您可以查看右边的相关问题.
2 django模型formset实例,标识每个表单

这是我的模特 我的地址模型 即时通讯试图写一个视图,在其中用户同时输入业务和地址信息,我试图为用户使用模型表单集来填写业务和邮件地址,但是我想这样做,以便用户可以离开邮件如果地址部分与公司地址相同,则为空白。 我如何实现这一目标,因为在我的地址模型中,什么都不能留为空白.. ...

3 Django视图未保存到模型

我有一个视图,当用户单击站点上的按钮时,它正在调用该视图,它将(从Coinbase API中)提取JSON数据并将其转换为字符串,并应将提取的字符串保存到当前用户的帐户中 。 每当他们单击按钮时,它都会拉出字符串,但是没有任何内容保存到帐户中,这就是问题所在。 views.py ...

7 Django模型格式集性能

对于Django 1.4.2和PostgreSQL 9.1,我几乎没有性能问题。 我想用这样创建的表单创建模型起点: forms.py 适用于外键少的模型 models.py views.py 我可以创建它,渲染它,一切似乎都很好,但是从POST分配数据会导 ...

8 Django模型格式问题

如何在Django中使用模型表单集? 执行此操作时: formset具有来自DB的所有订单... 如何将它们限制为例如profile.orders(Profila通过FK连接到Order)? 在此先感谢,Etam。 ...

9 从模型formset django动态删除表单

我有一个网页,用户可以动态添加和删除表单到django formsets。 我已经阅读了使用Ajax动态地将表单添加到Django formset ,基于此我可以动态地将表单添加到formset。 现在我想动态删除formset。 我在Django中查看了动态删除内联表单集 我想 ...

10 用于保存多个模型实例的通用视图

Django REST提供了ListCreateAPIView ,它允许通过GET列出特定模型的实例,并通过POST创建单个实例。 它基于ListModelMixin和CreateModelMixin ,是我所需要的,除了我要保存实例列表而不是每个POST请求仅保存一个实例。 在继续实现 ...

暂无
暂无

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

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