0

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

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

到:

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

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

4

2 回答 2

3

那是因为syncdb 不这样做。它只会创建新表,但如果您的模型发生更改,则不会更改现有表。

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

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

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

于 2012-04-28T22:15:49.403 回答
0

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

于 2012-04-28T22:29:13.963 回答