django中的数据库迁移的实现


Posted in Python onMarch 16, 2020

Django是用python写的web开发框架,其特点是:

1.重量级框架,内部封装了很多的功能组件,使开发变的简便快速,

2.MVT模式:前后端分离,高内聚低耦合,m:model,与mvc中的m功能相同,负责和数据库交互,进行数据处理,v:view,与mvc中的c功能相同,接收请求,进行业务处理,返回应答,

t:template,与mvc中的v功能相同,负责封装构造要返回的html。

orm:对象关系映射,主要实现模型对象到数据库数据的映射。

1.首先要在models.py中建立模型类,示例:

django中的数据库迁移的实现

2.在settings.py文件中把models.py所在的子应用也要加入配置项,否则orm数据库无法别识别到

django中的数据库迁移的实现

3.将模型类在admin.py中注册

django中的数据库迁移的实现

4.接下来就是数据库迁移的命令

python manage.py migrate # 根据数据库迁移文件生成对应SQL语句并执行

# 初次执行时为了先把默认Django需要的数据库创建出来

python manage.py makemigrations # 创建数据库迁移文件

# 这次执行是为了创建app中的class模型类的迁移文件

python manage.py

# 将新添加的模型类迁移文件生成对应SQL并执行,实际创建出来对应的表

Django中默认的数据库实sqlite3

django中的数据库迁移的实现

sqlite是一款轻型的数据库,占用资源特别小,大约几百k内存就够了,它能支持windows/linux/unix等主流的操作系统,储存在磁盘文件中的一个完整的数据库,比一些流行的数据库在大部分普通数据库操作要快,简单,轻松的api,独立:没有额外依赖,支持多种开发语言,以二进制形式存储在本地,负载量在10万以下时性能更佳,省掉了对数据库服务器的远程连接甚至会更快

ps:生成迁移和执行迁移

django框架就是一款强大的ORM框架,可以不需要写sql语句就能进行应用开发。

首先需要生成迁移文件,这就“相当于”生成sql语句脚本。

python manage.py makemigrations

这样就生成了迁移文件,在相对应的项目应用中可以看到migrations文件夹下,生成一个新文件

operations = [

    migrations.CreateModel(

      name='BookInfo',

      fields=[

        ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),

        ('btitle', models.CharField(max_length=20)),

        ('bpub_date', models.DateTimeField()),

      ],

    ),

    migrations.CreateModel(

      name='HeroInfo',

      fields=[

        ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),

        ('hname', models.CharField(max_length=20)),

        ('hgender', models.BooleanField()),

        ('hcontent', models.CharField(max_length=100)),

        ('hBook', models.ForeignKey(to='booktest.BookInfo')),

      ],

    ),

  ]

django会默认为每一个表生成一个主键id。

然后,执行迁移。这样才会生成数据库表。

python manage.py migrat

到此这篇关于django中的数据库迁移的实现的文章就介绍到这了,更多相关django 数据库迁移内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Django imgareaselect手动剪切头像实现方法
May 26 Python
Python import用法以及与from...import的区别
May 28 Python
CentOS 6.X系统下升级Python2.6到Python2.7 的方法
Oct 12 Python
Python的IDEL增加清屏功能实例
Jun 19 Python
使用Pyinstaller的最新踩坑实战记录
Nov 08 Python
Python 用Redis简单实现分布式爬虫的方法
Nov 23 Python
利用python将xml文件解析成html文件的实现方法
Dec 22 Python
详解django中url路由配置及渲染方式
Feb 25 Python
学习Python列表的基础知识汇总
Mar 10 Python
浅谈keras中的keras.utils.to_categorical用法
Jul 02 Python
Python如何执行系统命令
Sep 23 Python
Python通用验证码识别OCR库ddddocr的安装使用教程
Jul 07 Python
django之从html页面表单获取输入的数据实例
Mar 16 #Python
Django实现将views.py中的数据传递到前端html页面,并展示
Mar 16 #Python
Python Django view 两种return的实现方式
Mar 16 #Python
Python 统计位数为偶数的数字代码详解
Mar 15 #Python
使用pygame编写Flappy bird小游戏
Mar 14 #Python
Python3.x+pyqtgraph实现数据可视化教程
Mar 14 #Python
浅谈selenium如何应对网页内容需要鼠标滚动加载的问题
Mar 14 #Python
You might like
PHP函数之日期时间函数date()使用详解
2013/09/09 PHP
php将html转为图片的实现方法
2017/05/19 PHP
PHP工厂模式简单实现方法示例
2018/05/23 PHP
php设计模式之装饰模式应用案例详解
2019/06/17 PHP
浅析JavaScript中的隐式类型转换
2013/12/05 Javascript
js实现精美的图片跟随鼠标效果实例
2015/05/16 Javascript
简介JavaScript中valueOf()方法的使用
2015/06/05 Javascript
在jQuery中处理XML数据的大致方法
2015/08/14 Javascript
jQuery实现简单的列表式导航菜单效果代码
2015/08/31 Javascript
浅谈JavaScript中的分支结构
2016/07/01 Javascript
Bootstrap Navbar Component实现响应式导航
2016/10/08 Javascript
JQuery Ajax WebService传递参数的简单实例
2016/11/02 Javascript
用director.js实现前端路由使用实例
2017/01/27 Javascript
Vue如何实现组件的源码解析
2017/06/08 Javascript
如何使用pm2快速将项目部署到远程服务器
2019/03/12 Javascript
Vue中keep-alive组件作用详解
2020/02/04 Javascript
JavaScript实现复选框全选和取消全选
2020/11/20 Javascript
为什么推荐使用JSX开发Vue3
2020/12/28 Vue.js
详解Python中的__init__和__new__
2014/03/12 Python
python黑魔法之编码转换
2016/01/25 Python
python 将字符串转换成字典dict的各种方式总结
2018/03/23 Python
Python多版本开发环境管理工具介绍
2019/07/03 Python
Pycharm+Python工程,引用子模块的实现
2020/03/09 Python
Python 自由定制表格的实现示例
2020/03/20 Python
html5自定义video标签的海报与播放按钮功能
2019/12/04 HTML / CSS
墨尔本照明批发商店:Mica Lighting
2017/12/28 全球购物
美国特价机票专家:Airfarewatchdog
2018/01/24 全球购物
马来西亚网上购物:Youbeli
2018/03/30 全球购物
Made in Design意大利:现代家具、名家灯具和装饰
2020/10/27 全球购物
商场活动策划方案
2014/01/24 职场文书
春节联欢会主持词
2014/03/24 职场文书
大学新学期计划书
2014/04/28 职场文书
学生自我评语
2015/01/04 职场文书
放牛班的春天观后感
2015/06/01 职场文书
2016年寒假社会实践活动总结
2015/10/10 职场文书
微信小程序实现聊天室功能
2021/06/14 Javascript