1

我有这个代码

class ObjectCreate(CreateView):

    def form_valid(self, form):

我想知道这个表单是否已经绑定到对象实例,我可以使用 form.save 或者我必须手动将它绑定到模型实例

4

2 回答 2

1

是的,里面的表格form_valid是绑定的。

您可以通过查看ProcessFormView.

def post(self, request, *args, **kwargs):
    form_class = self.get_form_class()
    form = self.get_form(form_class)
    if form.is_valid():
        return self.form_valid(form)

可以看到绑定的表单是由 实例化的self.get_form(form_class)form_valid只有表单有效时才会调用该方法。

请注意,默认情况下ModelFormMixin使用的CreateView保存对象 - 根据您尝试执行的操作,您可能不必覆盖form_valid.

于 2012-10-24T09:24:46.320 回答
0

您可以参加 form 课程并要求bounded

    form_class = self.get_form_class()
    if form.is_bound:
        ...
于 2012-10-24T09:22:29.220 回答