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()
引发的错误是:"无法将关键字'用户'解析为字段。选项包括:id、project_、user_"
我无法修复该错误,有什么帮助吗?谢谢。
问题是你的表名...删除尾随下划线,它将正常工作。
Django 为 m2m 字段创建了一个中间表,称为 APP_MODEL1_MODEL2
,并且由于您的下划线,其中会有一个双下划线,这会混淆 ORM。