Django意外关键字参数'实例'

时间:2012-11-01 20:14:14

标签: django django-forms

您好我正在创建一个使用模型表单编辑模型的视图。

我的forms.py看起来像:

from user_profile.models import Project
from django.forms import ModelForm


def ProjectForm(ModelForm):
    class Meta:
         model = Project

和我的views.py:

from django.shortcuts import render_to_response
from django.template import RequestContext
from user_profile.models import Project
from user_profile.forms import ProjectForm

def EditProject(request, project_id=None):
    """
    This view allows a user to edit details of a project.
    """
    title = u'Unirac - Edit Project'
    project = Project.objects.get(id=4)
    if request.method == 'POST':
        form = ProjectForm(request.POST)
        if form.is_valid():
            # save form
            form.save()
        else:
            return render_to_response('edit_project.html', {
                'title': title,
                'form': form,
            }, RequestContext(request))
    else:
        form = ProjectForm(instance=project)
        return render_to_response('edit_project.html', {
            'title': title,
            'form': form,
        }, RequestContext(request))

但我收到了ProjectForm() got an unexpected keyword argument 'instance'错误?

我无法弄清楚为什么,因为你可以将实例传递给模型表单,不能吗?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

def ProjectForm(ModelForm):

除非在此处发布这只是一个错字,否则你的问题就出现了。 您已经定义了ProjectForm 函数,而不是类。