models模型(migrate简介)--note

在1.6之前, Django只支持添加新的model到数据库, 而无法编辑或修改已经存在的model. 在当时, 这些Django缺失的功能可以通过South实现.

1. 新的命令

Django 1.7 为我们带来了三个新命令:

  • migrate: 用于执行迁移动作
  • makemigrations: 基于当前的model创建新的迁移策略文件
  • sqlmigrate: 显示迁移的SQL语句

值得注意的是, migration是基于App的, 因此, 我们可以针对某些app不启用migration功能.

2. 如何使用

migrations的使用非常简单: 修改model, 比如增加field, 然后运行

    python manager.py makemigrations appname  //appname可加,可不加。写了appname,则更新当前app; 否则,更新所有INSTALLED_APP。

你的mmodel会被扫描, 然后与之前的版本作比较, 在app的migrations目录下生成本次迁移文件.

我们建议查看一下该迁移文件, 确保没有问题. 然后运行:

    python manager.py migrate appname  //appname可加,可不加。写了appname,则更新当前app; 否则,更新所有INSTALLED_APP。

migrate命令会进行比较, 并应用该迁移.

sqlmigrate 生成要迁移的sql语句,可用于数据库

   python manage.py sqlmigrate appname migration_no  //eg:python manage.py sqlmigrate hi 0001

3. 从South到新的Django migrations

如果想从south升级到最新的django migration, 可以按以下步骤实现:

  • 确保south中的migration全部被应用了
  • 从 INSTALLED_APPS中移除south
  • 删除每个app下migration目录中的所有文件, 除了__init__.py
  • 运行python manager.py makemigrations, Django会初始化migration
  • 运行python manager.py migrate, django会发现数据库和初始化的migration相同, 从而将他们标记为已应用

原文链接: http://www.weiguda.com/blog/72/

时间: 2024-10-03 16:39:12

models模型(migrate简介)--note的相关文章

django models(模型)

models(模型) 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去调用数据访问层执行数据库操作 import MySQLdb def GetList(sql): db = MySQLdb.connect(user='root', db='wupeiqidb', passwd='1234', host='localhost') cursor = db.cursor() cursor.execute(sql) data = cursor.fet

WDM驱动模型框架简介

前几天刚刚看了<windows驱动开发技术详解>,在网上看到这篇文章时觉得总结的很好,所以整理收藏! ========================================================= WDM驱动程序的前世今生 2012年10月06日 ⁄ windows驱动开发 ⁄ 共 2710字 ⁄ 暂无评论 WDM驱动程序在2000年左右还是一种很新的东西,相信很多人都跟我一样,对它很感兴趣,但是又找不到学习的切入点.究其原因,还是因为WDM是一种非常“死板板”的程序,它一

django的models模型类的常用数据类型和选项

django框架的models模块ORM框架,能够让我们通过编写类的方式,帮助我们自动生成数据库表. 生成的数据库表名为 应用模块名称_类名 数据库表中字段名 如果我们没有在参数中指定,就是我们写的类属性名. 通过编写类属性的方式,我们可以创建数据库表. 1 首先编写类: 稍后详细 2 然后生成迁移文件: python manage.py makemigrations 3 执行迁移: python manage.py migrate 三步骤,django会帮助我们生成相应的sql语句创建数据库表

一 Django模型层简介

模型 django提供了一个强大的orm(关系映射模型)系统. 模型包含了你要在数据库中创建的字段信息及对数据表的一些操作 使用模型 定义好模型后,要告诉django使用这些模型,你要做的就是在配置文件中的INSTALLED_APPS中添加模型所在的应用名称 字段类型 模型中的每个字段都是Field类相应的实例,django根据Field类型来确定以下信息: 列类型,告知数据库要存储那种数据 渲染表单时使用的默认HTML widget 验证,被用在admin和表单中 通用字段参数(常用) nul

Django之模型---ORM简介

ORM ORM,是"对象-关系-映射"的简称,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动. 创建表/模型 创建项目,在models.py下创建表 1 from django.db import models 2 3 # Create your models here. 4 5 6 class Book(models.Model): 7 id=mode

隐型马尔科夫模型(HMM) 简介

先介绍一下马尔科夫模型: 马尔可夫模型(Markov Model)是一种统计模型,广泛应用在语音识别,词性自动标注,音字转换,概率文法等各个自然语言处理等应用领域.经过长期发展,尤其是在语音识别中的成功应用,使它成为一种通用的统计工具. 特征:有限视野.时间不变性 隐性马尔可夫模型: HMM(Hidden Markov Model), 也称隐性马尔可夫模型,是一个概率模型,用来描述一个系统隐性状态的转移和隐性状态的表现概率. 特征:1)问题是基于序列的,比如时间序列,或者状态序列.2)问题中有两

基于Distiller的模型压缩工具简介

Reference: https://github.com/NervanaSystems/distiller https://nervanasystems.github.io/distiller/index.html PART I: 介绍 Distiller模型压缩包含的算法:  稀疏算法(剪枝+正则化)+低精度算法(量化) Distiller特点: (1)    该框架融合了剪枝,正则化及量化算法 (2)    一系列分析及评估压缩性能的工具 (3)    较流行压缩算法的应用 稀疏神经网络可

Django的models模型常用数据类型

字段类型控制:首先 import django.db.models AutoField:一个 IntegerField, 添加记录时它会自动增长. 你通常不需要直接使用这个字段;. IntegerField:保存一个整数. BooleanField:布尔字段,值为True或False. NullBooleanField:支持Null.True.False三种值. CharField(max_length=字符长度):字符串. TextField:大文本字段,一般超过4000个字符时使用. 参数m

OSI七层模型02——简介

原文地址:http://blog.51cto.com/13962515/2177858