django与MySQL表添加_django models 增加字段(或新表)后如何同步到数据库

最近对一个django项目进行修改,其中在models.py添加了新的字段,需要同步到数据库。

尝试使用

python manage.py syncdb

提示成功,但未对数据库进行任何操作,到数据库中查看,新字段并没有同步进来。

0818b9ca8b590ca3270a3433284dd417.png

解决办法如下:

python manage.py shell

进入后

from django.db import connection

新建一个cursor,用于连接

cursor=conneciton.cursor()

下一步就可以进行对数据库的操作了,把在model中定义的量加入表中:

cursor.execute('ALTER TABLE table_name add port Integer default 0')

sql 语法:ALTER  TABLE table_name add col_name col_type default ..

到这步已经添加完成



******************************************************************************************************************************

补充:

下面补充一下,如果在已有django项目里面新建一张表,该如何操作:

例如,在app下面models.py中新加一张表后,尝试使用

python manage.py syncdb

发现结果提示并没有新建的列表

此时,查看app目录下有没有migrations文件,如果存在,删除所有pyc文件和migrations文件。

删除后,再使用

python manage.py syncdb

此时应该可以进行同步了,新表会提示创建在数据库中



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值