2012-07-27 98 views
0

因此,使用南方,我想添加一個新字段is_private到我的一個模型。數據庫遷移後沒有變化

在介紹之後,改變models.py文件後,我應該這樣做:

./manage.py schemamigration reconstructions --auto 

返回:

Added field is_private on reconstructions.Reconstruction 
Created 0005_auto__add_field_reconstruction_is_private.py. You can now apply this migration with: ./manage.py migrate reconstructions 

這是偉大的。現在,下一個步驟是,

python manage.py migrate reconstructions 

這版畫:

- Migrating forwards to 0005_auto__add_field_reconstruction_is_private. 
> reconstructions:0005_auto__add_field_reconstruction_is_private 
- Loading initial data for reconstructions. 
No fixtures found. 

它似乎是在做它的工作。但是,當我事後檢查現場is_private,Django的引發我一個錯誤:

Cannot resolve keyword 'is_private' into field. 

還告訴我,南並沒有更改的數據庫都沒有。爲什麼如此?

額外信息: 模型類:

class Reconstruction(models.Model): 
    id = models.CharField(max_length=36, primary_key=True, 
          editable=False) 

    uploader = models.ForeignKey(User, blank=True, null=True) 
    status = models.TextField(blank=True) 
    viewcount = models.IntegerField(default=0) 
    error_flag = models.IntegerField(default=0) 
    is_done = models.BooleanField(default=False) 
    create_date = models.DateTimeField(auto_now=True) 
    last_modified_date = models.DateTimeField(auto_now=True) 
    is_private = models.BooleanField(default=True) 

導致崩潰的代碼:

recordings = Recording.objects.filter(is_done=True).filter(is_private=False).order_by('-create_date') 
+0

錯誤表示遷移仍在運行。在shell'python manage.py migrate --list'中運行以檢查遷移的狀態。 – Ahsan 2012-07-27 06:15:36

+1

該錯誤根本不表示數據庫問題。這純粹是在課堂上的錯誤。請發佈型號代碼,導致錯誤的代碼和回溯。 – 2012-07-27 07:36:16

+0

@DanielRoseman我附上了你所問的信息。我認爲這似乎表明它找不到is_private列。 – hakura 2012-07-27 14:52:32

回答

3

觀察:您添加到is_privateReconstruction,但你試圖篩選基於Recording對象在那個屬性上。也許這是問題?

+0

哦.....我有啞巴。並在上午3:00編碼..感謝很多。 – hakura 2012-07-27 14:58:35