Django orm 中 python manage.py makemigrations 和 python manage.py migrate 这两条命令用途

 

 

 

生成一个临时文件

python manage.py makemigrations  

 

这时其实是在该app下建立 migrations目录,并记录下你所有的关于modes.py的改动,比如0001_initial.py

 

 

 

接着执行migrate,这时候才真的把作用到数据库文件,产生对应的表

 

根据临时文件生成数据库表

python manage.py migrate

 

执行这两条命令自动帮我们创建数据库和基本表

 

还可以利用这条命令修改djang orm 表结构

 

现在把models.py 表结构 字段 最大长度64 修改成60

from django.db import models

# Create your models here.

# 必须继承
# 表名叫cmdb_userinfo
class UserInfo(models.Model):

    # django默认隐藏着会帮你创建 一列id列 自增的,设置为主键,参考mysql

    # 用户名列,数据类型 字符串类型,指定长度
    username = models.CharField(max_length=32)
    password = models.CharField(max_length=64)

 

 

from django.db import models

# Create your models here.

# 必须继承
# 表名叫cmdb_userinfo
class UserInfo(models.Model):

    # django默认隐藏着会帮你创建 一列id列 自增的,设置为主键,参考mysql

    # 用户名列,数据类型 字符串类型,指定长度
    username = models.CharField(max_length=32)
    password = models.CharField(max_length=60)

 

现在表结构变了,需要再执行  python manage.py makemigrations ,python manage.py migrate 自动更新表结构

python manage.py makemigrations
Migrations for 'cmdb':
  cmdb\migrations\0002_auto_20181122_2336.py
    - Alter field password on userinfo

 

python manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, cmdb, contenttypes, sessions
Running migrations:
  Applying cmdb.0002_auto_20181122_2336... OK

 

数据如果超过最大长度就丢了

 

总结 通过 python manage.py makemigrations , python manage.py migrate 都可以修改 表结构数据

转载于:https://www.cnblogs.com/mingerlcm/p/9983443.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值