我有以下型号:
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)
行上。什么想法可能是错的?
答案 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字段,您可能希望将该字段重命名为用户。