一般在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/