2012-05-07 51 views
0

我正在使用「Django Non-rel」和Django-MongoDB ORM「爲我的項目使用MongoDB Nosql數據庫。我需要更改一個模型並添加一個ForeignKey字段。我認爲South會幫助數據遷移但我得知道,南亙古不變的支持MongoDB.My模式是這樣的:將新的ForeignKey字段添加到現有的django MongoDB模型中?

class Projects(models.Model): 
    projectName =models.CharField(max_length = 100,unique=True,db_index=True) 
    projectManager = models.ForeignKey('auth.User') 

我需要添加states = models.ForeignKey('States')我model.But我不知道如何做到這一點不南,以便它亙古不變的創建問題在我現有的數據庫。請幫助球員:(

回答

1

我使用django非rel在appengine上,這可能不完美地轉換爲MongoDB,但我懷疑它是相同的。

我一直在做以下事情,它需要幾個步驟。

  1. 更新與空模型= TRUE: projectManager = models.ForeignKey( 'auth.User',空=真)

這確保了在數據庫中現有的模型都不會導致Django拋出異常。

  1. 編寫一個腳本,將與空再次查詢所有項目和更新其projectManager領域

  2. 更新模型=假 projectManager = models.ForeignKey( 'auth.User')

既然數據庫中沒有任何對象具有projectManager的空字段,那麼可以刪除空標誌。

相關問題