在django中访问表单的实例

时间:2012-07-01 12:55:35

标签: python django

我有一个表单,它是一个模型X的实例。如果我在另一个视图中处理表单提交(POST),如何在视图中访问表单的实例。一个视图用于创建表单和其他视图用于处理表单。

2 个答案:

答案 0 :(得分:1)

来自documentation

  

此外,绑定到模型对象的模型表单实例将包含一个   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(...)