2012-06-25 30 views
0

PY像下面「無法解析關鍵詞‘用戶’到現場的選擇有:ID,project_,用戶_」

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_,用戶_」

我無法修復該錯誤,任何幫助嗎? 謝謝。

+0

您確定您正確複製了錯誤信息嗎?它似乎引用了一個關鍵字'用戶',它不存在於你指定的行上。 – cberner

+0

發佈完整的堆棧跟蹤。 –

回答

1

問題是你的表名...刪除尾部下劃線,它會正常工作。

Django爲m2m字段創建了一箇中間表,名稱與APP_MODEL1_MODEL2類似,並且由於您的下劃線,在那裏會出現雙下劃線,這會使ORM混淆。

相關問題