2012-07-27 91 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