0

我有以下模型:

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)线。有什么想法可能是错的吗?

4

1 回答 1

1

请提供整个回溯并确保您的视图没有名为“mark”等的函数(您可能还想更改markMark遵循 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 字段,您可能希望将该字段重命名为用户。

于 2012-04-20T21:24:54.217 回答