我正在尝试从模型中的以下内容更新字段键:
name = models.CharField(max_length=255, unique = True)
到:
name = models.CharField(max_length=255, unique = False)
但是我需要在不丢失任何当前数据的情况下更新 mysql 数据库。我该怎么做呢?我试过$ python manage.py syncdb
了,但它似乎没有更新密钥。
那是因为syncdb
不这样做。它只会创建新表,但如果您的模型发生更改,则不会更改现有表。
在开发环境中,要在更改模型后更新数据库,您可以使用python manage.py reset appname
清空数据库,然后syncdb
再次使用。
否则,您必须使用South等工具。South 用于处理迁移,但在模型更改时也会更改数据库。
还有django-evolutions 可以满足您的需求,但我仍然推荐 South,因为它的迁移功能几乎总是有用的。
您可以使用PHPMyAdmin并从此字段中删除唯一索引。