新模型条目上的关键字参数无效

时间:2012-04-20 21:17:56

标签: django django-models

我有以下型号:

class mark(models.Model):
    title=models.CharField(max_length=35)
    url=models.URLField(max_length=200)
    user=models.ManyToManyField(User,blank=True)

然后我使用表单将一些数据保存到数据库。保存数据的视图中的代码是:

new_mark= mark(url=request.POST['url'],
                           title=request.POST['title'],
                           user=request.user)
new_mark.save()

当然,我有所有数据验证,需要登录验证等。 当我运行它时,它会抛出一个意外的

'user' is an invalid keyword argument for this function
user=request.user)行上

。什么想法可能是错的?

1 个答案:

答案 0 :(得分:1)

请提供整个回溯并确保您的视图没有名为“mark”等的功能(您可能还希望将mark更改为Mark以遵循Python和Django样式指南。)通过测试在print type(mark)行前"new_mark = …"

另外,我不是100%确定ManyToMany字段是否允许这样的设置数据,例如尝试:

new_mark= mark(url=request.POST['url'],
                       title=request.POST['title'])
new_mark.user.add(request.user)
new_mark.save()

由于它是一个m2m字段,您可能希望将该字段重命名为用户。