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 ...
随机推荐
- 个别图片IE中无法显示问题
今天有人保障,某些图片在IE下无法打开,但是其他浏览器均没有问题.以前还真没遇到过这类问题,从上至下查看了一遍,能排除的因素基本都排除了,还是不知道为什么不能显示,真是奇怪了.最后注意到无法显示的图片 ...
- Thinlphp 模版 foreach 嵌套在 另一个循环出现不能在次循环问题。
把 foreach 循环改成 volist 就可以重置循环所以的数据.
- java.util下有一个Comparator(比较器)
java.util下有一个Comparator(比较器) 它拥有compare(),用来比较两个方法. 要生成比较器,则用Sort中Sort(List,List(Compate)) 第二种方法更灵活, ...
- java内存溢出怎么解决
java.lang.OutOfMemoryError这个错误我相信大部分开发人员都有遇到过,产生该错误的原因大都出于以下原因:JVM内存过小.程序不严密,产生了过多的垃圾. 导致OutOfMemory ...
- 【BZOJ】1064: [Noi2008]假面舞会(判环+gcd+特殊的技巧)
http://www.lydsy.com/JudgeOnline/problem.php?id=1064 表示想到某一种情况就不敢写下去了.... 就是找环的gcd...好可怕.. 于是膜拜了题解.. ...
- leetcode:Pascal's Triangle
一. 题目 经典题目,杨辉三角,输入行数.生成杨辉三角的数组. 二. 分析 首先,我们知道有例如以下规律: 1.每一行的第一个数和最后一个数都为1 2.中间的数是上面数和上面数左边的数 ...
- HDU1717--小数化分数2
这道题是将输入的小数(有可能是无限循环小数)来化为分数.刚開始看到以为枚举(千万不要嘲笑我),可是感觉不正确. 所以百度了小数化为分数的方法,然后看到了各种方法,原来是这这样,在这我採用的是小数化为分 ...
- EasyDarwin开发出相似于美拍、秒拍的短视频拍摄SDK:EasyVideoRecorder
EasyVideoRecorder Github:https://github.com/EasyDarwin/EasyVideoRecorder EasyVideoRecorder作为一款短视频拍摄的 ...
- Python爬虫(八)
源码: import requests import re from my_mysql import MysqlConnect import time,random # 获取招聘详情链接 def ge ...
- (转)python中的参数:*args和**kwargs
def foo(*args, **kwargs):print 'args = ', argsprint 'kwargs = ', kwargsprint '---------------------- ...