【问题标题】:"Cannot resolve keyword 'user' into field. Choices are: id, project_, user_"“无法将关键字 'user' 解析为字段。选项有:id、project_、user_”
【发布时间】:2012-06-25 18:27:50
【问题描述】:

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_"

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

【问题讨论】:

  • 您确定您正确复制了错误消息吗?它似乎引用了您指定的行中不存在的关键字“用户”。

标签: django manytomanyfield


【解决方案1】:

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

Django 为 m2m 字段创建一个中间表,称为 APP_MODEL1_MODEL2,由于您的下划线,其中会有一个双下划线,这会混淆 ORM。

【讨论】:

    猜你喜欢
    • 2021-11-04
    • 1970-01-01
    • 2019-09-08
    • 2012-09-13
    • 2013-04-09
    • 2021-10-17
    • 2020-10-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多