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 都可以修改 表结构数据
Django orm 中 python manage.py makemigrations 和 python manage.py migrate 这两条命令用途的更多相关文章
- 【Django2.0】python manage.py makemigrations 和 python manage.py migrate的区别
无论当我们第一次在models.py中创建类对象还是对类中的属性进行修改,我们都会使用python manage.py makemigrations 和 python manage.py migrat ...
- python学习-- 数据库迁移 python manage.py makemigrations 和 python manage.py migrate
python manage.py makemigrations 和 python manage.py migrate
- 优化Django ORM中的性能问题(含prefetch_related 和 select_related)
Django是个好工具,使用的很广泛. 在应用比较小的时候,会觉得它很快,但是随着应用复杂和壮大,就显得没那么高效了.当你了解所用的Web框架一些内部机制之后,才能写成比较高效的代码. 怎么查问题 W ...
- Django ORM 中的批量操作
Django ORM 中的批量操作 在Hibenate中,通过批量提交SQL操作,部分地实现了数据库的批量操作.但在Django的ORM中的批量操作却要完美得多,真是一个惊喜. 数据模型定义 首先,定 ...
- django ORM中的复选MultiSelectField的使用
下载和介绍: https://pypi.org/project/django-multiselectfield/ 在django ORM的使用中,经常会出现选择的情况,例如: class person ...
- Django 中 python manage.py makemigrations 与 python manage.py migrate
执行 python manage.py makemigrations django根据settings.py里面的INSTALLED_APPS项设置找到对应app里的models.py,应用里面创建的 ...
- Django ORM中常用字段和参数
一些说明: 表myapp_person的名称是自动生成的,如果你要自定义表名,需要在model的Meta类中指定 db_table 参数,强烈建议使用小写表名,特别是使用MySQL作为后端数据库时. ...
- Django ORM中,如何使用Count来关联对象的子集数量
示例models 解决方法 有时候,我们想要获取一个对象关联关系的数量,但是我们不要所有的关联对象,我们只想要符合规则的那些关联对象的数量. 示例models # models.py from dja ...
- Django ORM中的查询,删除,更新操作
ORM查询操作 修改views.py文件 from django.shortcuts import render, HttpResponse from app01 import models from ...
随机推荐
- [uboot]Issue list
- 三、thinkphp
'URL_PATHINFO_DEPR'=>'-',//修改URL的分隔符 'TMPL_L_DELIM'=>'<{', //修改左定界符 'TMPL_R_DELIM'=>'}&g ...
- MySQL数据库运维的五大指标
如何评价一个公司数据库运维水平的高低?用什么来进行横向与纵向对比?自动化平台建设的目标是什么?必须有相应的指标体系来指导,此指标体系必须满足以下条件: • 可以用数字来测算和衡量 • 最终指标,而不是 ...
- finals的使用
//----------------------------------------Finals--------------------------- public class Finals { pu ...
- 第二百五十四节,Bootstrap项目实战--案例
Bootstrap项目实战--案例 html <!DOCTYPE html> <html lang="zh-cn"> <head> <me ...
- Linux性能分析top iostat vmstat free
最近看到一大牛的分析报告,才知道笔者认识这4个命令是多么肤浅,其实要读懂内存的信息,是要一些功力的.1.top VIRT 虚拟内存总量,VIRT=SWAP+RESSWAP ...
- swift开发之--Protocol(协议)
使用object-c语言的同学们肯定对协议都不陌生,但在swift中苹果将protocol这种语法发扬的更加深入和彻底. Swift中的protocol不仅能定义方法还能定义属性,配合extensio ...
- linux命令之rpm
1.查询一个包是否被安装的命令rpm -q < rpm package name> 2.列出所有被安装的rpm package 命令rpm -qa
- Objective-C内存管理基础
2011-05-11 15:45 朱祁林 http://zhuqil.cnblogs.com 字号:T | T 本文我们将介绍<Objective-C内存管理基础>,在iOS开发中,内存管 ...
- ERROR in [copy-webpack-plugin] unable to locate "D:/xxx/xxx/xxx"
vue打包的时候npm run build报错 ERROR in [copy-webpack-plugin] unable to locate "D:/xxx/xxx/xxx" 这 ...