在Django Model中更新字段架构

时间:2012-04-28 22:08:37

标签: python mysql django

我正在尝试更新模型中的以下字段键:

name = models.CharField(max_length=255, unique = True)

为:

name = models.CharField(max_length=255, unique = False)

但是我需要在不丢失任何当前数据的情况下更新mysql数据库。我该怎么做呢?我试过$ python manage.py syncdb,但它似乎没有更新密钥。

2 个答案:

答案 0 :(得分:3)

这是因为syncdb doesn't do that。它只会创建新表,但如果您的模型发生更改,则不会更改现有表。

在开发环境中,要在更改模型后更新数据库,可以使用python manage.py reset appname清空数据库,然后再次使用syncdb

否则,您必须使用South等工具。 South用于处理迁移,但也在模型更改时更改数据库。

还有django-evolutions可以满足您的需求,但我仍然推荐South,因为它的迁移功能几乎总是有用。

答案 1 :(得分:0)

您可以使用PHPMyAdmin并从此字段中删除唯一索引。