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 相关文章推荐
Python3.0与2.X版本的区别实例分析
Aug 25 Python
Python多进程并发(multiprocessing)用法实例详解
Jun 02 Python
TensorFlow实现Softmax回归模型
Mar 09 Python
Python递归实现汉诺塔算法示例
Mar 19 Python
对numpy中array和asarray的区别详解
Apr 17 Python
Python编程学习之如何判断3个数的大小
Aug 07 Python
解决Mac下使用python的坑
Aug 13 Python
Python中类似于jquery的pyquery库用法分析
Dec 02 Python
基于Tensorflow:CPU性能分析
Feb 10 Python
python中68个内置函数的总结与介绍
Feb 24 Python
如何用python插入独创性声明
Mar 31 Python
教你如何使用Python开发一个钉钉群应答机器人
Jun 21 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 登录完成后如何跳转上一访问页面
2014/01/14 PHP
Netbeans 8.2将支持PHP7 更精彩
2016/06/13 PHP
PHP正则表达式函数preg_replace用法实例分析
2020/06/04 PHP
Code:findPosX 和 findPosY
2006/12/20 Javascript
Javascript 强制类型转换函数
2009/05/17 Javascript
基于javascript滚动图片具体实现
2013/11/18 Javascript
省市二级联动小案例讲解
2016/07/24 Javascript
总结JavaScript的正则与其他语言的不同之处
2016/08/25 Javascript
纯原生js实现table表格的增删
2017/01/05 Javascript
基于vue实现swipe轮播组件实例代码
2017/05/24 Javascript
小程序云开发部署攻略(图文教程)
2018/10/30 Javascript
JS实现计算小于非负数n的素数的数量算法示例
2019/02/26 Javascript
Postman内建变量常用方法实例解析
2020/07/28 Javascript
JS面向对象实现飞机大战
2020/08/26 Javascript
[01:03:36]Ti4 循环赛第三日DK vs Titan
2014/07/12 DOTA
Python性能优化技巧
2015/03/09 Python
python处理csv数据的方法
2015/03/11 Python
用Python实现服务器中只重载被修改的进程的方法
2015/04/30 Python
python定时检查某个进程是否已经关闭的方法
2015/05/20 Python
python实现unicode转中文及转换默认编码的方法
2017/04/29 Python
python实现上传下载文件功能
2020/11/19 Python
windows 下python+numpy安装实用教程
2017/12/23 Python
Python基于多线程实现抓取数据存入数据库的方法
2018/06/22 Python
配置 Pycharm 默认 Test runner 的图文教程
2018/11/30 Python
Win10下python 2.7与python 3.7双环境安装教程图解
2019/10/12 Python
python求质数列表的例子
2019/11/24 Python
Python数据可视化:幂律分布实例详解
2019/12/07 Python
css3+jq创作含苞待放的荷花
2014/02/20 HTML / CSS
amazeui时间组件的实现示例
2020/08/18 HTML / CSS
浅析HTML5 Landmark
2020/09/11 HTML / CSS
毕业生求职简历的自我评价
2013/10/07 职场文书
数控专业个人求职信范例
2013/11/29 职场文书
葛优非诚勿扰搞笑征婚台词
2014/03/17 职场文书
测绘工程专业求职信
2014/07/15 职场文书
学前班幼儿评语大全
2014/12/29 职场文书
2015年保险公司个人工作总结
2015/05/22 职场文书