这篇博客是从旧博客 WordPress 迁移过来,内容可能存在转换异常。
一般在django项目的models.py中写了新的数据库类以后,都用:
python manage syncdb
来同步生成数据库。
但是如果修改了已同步的数据库类,则此命令无效。
django的设计原则是,对于包含数据的表的维护,一般是手工来做的。
虽然django有一个命令:
django-admin.py reset appname
但是此命令会清空数据表内容。
手动修改数据库时,有三种方法:
1.直接mysql –u root –p登录mysql,找到相应数据库,修改表。
2.manage.py有一个dbshell(传送门):
它会根据settings.py中的数据库设置,选择相应数据库并使用帐号密码登录。
然后可以:
alter table [tablename] add column [columnname] [columntype];
eg:alter table weblog add column tag varchar(30);
3.可以python manage.py shell,然后使用django提供的数据库操作来解决。
其他方法:
[http://blog.codylab.com/django-update-model/](http://blog.codylab.com/django-update-model/)