无法在迁移中添加新字段:"列...不存在"

时间:2014-07-27 17:48:57

标签: django django-models migration django-south

我想在我的模型中添加一个字段,但我完全迷失在这里。这是模型,应用程序名称称为“配置文件”:

class Profiles(models.Model):
    user = models.OneToOneField(User, unique=True, null=True)
    nickname = models.CharField(max_length=75, null=True)  # new field
    description = models.CharField(max_length=250, blank=True, null=True)

所以,我添加了“昵称”字段。然后我跑了

python manage.py schemamigration profiles --auto
python manage.py migrate profiles

但它给了我一个错误。 “relation profiles_profiles已经存在。”

所以我做了

python manage.py migrate profiles --fake
python manage.py migrate profiles

然后当我尝试使用模型时,我得到了错误

ProgrammingError: column profiles_profiles.nickname does not exist

我尝试迁移时收到的消息是:

"nothing to migrate"
and 
"nothing seems to have changed"

当我尝试进行模式迁移和迁移时。 :/?¿。

我将不胜感激任何帮助。

1 个答案:

答案 0 :(得分:3)

正确的命令是:

python manage.py schemamigration <app_name> --auto

您已经写了应用的名称,而不是模型的名称