2011-01-28 115 views
2

我试图从窗体提供的值中创建新对象。下面是代码:无法创建新对象 - create()只需要1个参数(给出2个)

def issue_save(request): 
    issue = Issue.objects.create(IssueForm(request.POST)) 
    issue.save(commit=True) 
    return HttpResponseRedirect(reverse("main.views.index")) 

下面是我得到的错误:

类型错误在/ problemy/pridat/ulozit/
创建()恰恰1个参数(2给出)
请求方法:POST
请求URL:http://localhost:8000/problemy/pridat/ulozit/
Django的版本:1.2.3
异常类型:类型错误
异常值:
创建()恰恰1参数(2给出) 异常位置:在第20行views.py在issue_save 20行

代码:

issue = Issue.objects.create(IssueForm(request.POST)) 

我真的被困在这里。

回答

3

您没有告诉我们什么是IssueForm。如果它是一个ModelForm,你可以使用它.save方法代替:

IssueForm(request.POST).save() 

如果它是一个普通的形式,使用此:

issue = Issue.objects.create(**IssueForm(request.POST).cleaned_data) 

注:**的参数拆包(见here

+0

如果它不是ModelForm,它应该是,看到OP正试图直接从它创建模型实例。 – 2011-01-28 12:10:26

相关问题