同时保存在两个或多个模型中,格式为\u valid

2024-04-24 12:19:58 发布

您现在位置:Python中文网/ 问答频道 /正文

谨致问候

我需要在两个或多个模型中同时保存我在表单中提交的数据,如何使用表单\ u valid使其有效?我试过但没有成功:

class PEPropietarioView(UpdateModelMixin,UpdateView):
    model = Propietario
    form_class = FormPropietario
    success_url = '/'
    template_name = 'productores/PE/propietario.html'

    def form_valid(self,form):
        admin = Administrador()
        enc = Encargado()
        admin = form.save()
        enc = form.save()
        return super(PEPropietarioView,self).form_valid(form)

如何实现将提交的数据保存在FormPropietario中,同时保存在Administrador和Encargado模型中?你知道吗


Tags: 数据模型selfform表单adminsaveclass
1条回答
网友
1楼 · 发布于 2024-04-24 12:19:58

将方法添加到FormPropietario窗体:

class FormPropietario(forms.Form):

    ...

    def save_relateds(self):    
        admin = Administrador.objects.get_or_create(**self.cleaned_data)
        enc = Encargado.objects.get_or_create(**self.cleaned_data)
        return True

然后叫它:

def form_valid(self, form):
    form.save_relateds()
    return super(PEPropietarioView,self).form_valid(form)

相关问题 更多 >