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