我有一个表单,它是某个模型 X 的实例。现在,如果我在另一个视图中处理表单提交(POST),我如何在视图中访问表单的实例。一个视图用于创建表单,另一个视图用于创建表单视图用于处理表单。
问问题
146 次
2 回答
1
从文档
此外,绑定到模型对象的模型表单实例将包含一个 self.instance 属性,该属性使模型表单方法可以访问该特定模型实例。
def myview(request):
if request.method == "POST":
form = MyModelForm(request.POST,request.FILES)
# form.instance -- this is the model
于 2012-07-01T13:02:44.300 回答
0
您可以简单地将表单对象传递给辅助视图:
def view_one(request, slug):
if request.method == 'POST':
obj = get_object_or_404(Model, slug=slug)
model_form = MyModelForm(request.POST, instance = obj)
return view_two(request, form=model_form)
def view_two(request, form=None):
if form:
obj = form.save(commit=False)
obj.some_attribute = "Foo"
obj.save()
return render_to_response(...)
于 2012-07-01T13:04:17.200 回答