我有这段代码
class ObjectCreate(CreateView):
def form_valid(self, form):
我想知道这个表格已经绑定到对象实例,我可以使用form.save或者我必须手动将它绑定到模型实例
答案 0 :(得分: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
方法。
请注意CreateView
使用的ModelFormMixin
默认保存对象 - 根据您要执行的操作,您可能不必覆盖form_valid
。
答案 1 :(得分:0)
您可以take form class并要求bounded:
form_class = self.get_form_class()
if form.is_bound:
...