“无法将关键字'user'解析为字段。选项包括:id,project_,user_”

时间:2012-06-25 18:27:50

标签: django manytomanyfield

py如下

class User_(models.Model):
user_name = models.CharField(max_length=50)
user_password = models.CharField(max_length=50)
user_admin = models.BooleanField(False)

class Project_(models.Model):
project_name = models.CharField(max_length=20)
users = models.ManyToManyField(User_)
project_path = models.FilePathField()

现在我尝试使用以下

中的many_to_many字段用户
    usr = User_.objects.get(user_name= userName) #it retrieves the correct object
    newProject = Project_(project_name=projectName)
    newProject.save()
    newProject.users.add(usr) #here is the error 
    newProject.save()

引发的错误是: “无法将关键字'user'解析为字段。选项包括:id,project_,user _”

我无法修复该错误,有什么帮助吗? 感谢。

1 个答案:

答案 0 :(得分:1)

问题是你的表名...删除尾随的下划线,它会正常工作。

Django为m2m字段创建一个名为APP_MODEL1_MODEL2的中间表,由于你的下划线,那里会有一个双下划线,这会让ORM感到困惑。