表单中的CreateWithInlinesView验证

时间:2019-04-12 14:49:01

标签: django django-forms django-validation

使用Django Extra Views中的CreateWithInlinesView时,有人知道如何验证表单吗?

令人惊讶的是,def clean(self)def clean_name_of_the_field方法在那里不起作用。我已经在基于函数的视图上进行了检查,因此它们实际上在CreateWithInlinesView中不起作用。我仍然可以在模型中使用验证器和def clean(),但我更喜欢以表格形式...

如果您在CreateWithInlinesView验证方面有任何经验,请告诉我。

谢谢!

1 个答案:

答案 0 :(得分:0)

我知道这很晚了,但我也遇到了同样的问题。我刚刚添加了一些有助于理解的内容。这可以在视图中完成。 我找到了解决方法here

class ModelCreate(CreateWithInlinesView):
    model = models.Model
    inlines = [ModelInline]
    form_class = forms.ModelForm
    success_url = reverse_lazy("app:related_name")

    def forms_valid(self, form, inlines):
        self.object = form.save()
        """Write your extra code in here"""
        return HttpResponseRedirect(self.get_success_url())