我有一个表单,它是一个模型X的实例。如果我在另一个视图中处理表单提交(POST),如何在视图中访问表单的实例。一个视图用于创建表单和其他视图用于处理表单。
答案 0 :(得分:1)
此外,绑定到模型对象的模型表单实例将包含一个 self.instance属性,为模型表单方法提供访问权限 具体的模型实例。
def myview(request):
if request.method == "POST":
form = MyModelForm(request.POST,request.FILES)
# form.instance -- this is the model
答案 1 :(得分: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(...)