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 相关文章推荐
python+matplotlib绘制简单的海豚(顶点和节点的操作)
Jan 02 Python
python3解析库lxml的安装与基本使用
Jun 27 Python
判断python字典中key是否存在的两种方法
Aug 10 Python
PyQt5实现五子棋游戏(人机对弈)
Mar 24 Python
Python实现微信机器人的方法
Sep 06 Python
python实现飞机大战游戏(pygame版)
Oct 26 Python
python之生成多层json结构的实现
Feb 27 Python
Django 解决新建表删除后无法重新创建等问题
May 21 Python
Django实现后台上传并显示图片功能
May 29 Python
python中温度单位转换的实例方法
Dec 27 Python
Python实现批量自动整理文件
Mar 16 Python
Python 装饰器(decorator)常用的创建方式及解析
Apr 24 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
全文搜索和替换
2006/10/09 PHP
一个用于mysql的数据库抽象层函数库
2006/10/09 PHP
修改php.ini不生效问题解决方法(上传大于8M的文件)
2013/06/14 PHP
php检测数组长度函数sizeof与count用法
2014/11/17 PHP
PHP之浮点数计算比较以及取整数不准确的解决办法
2015/07/29 PHP
Laravel实现自定义错误输出内容的方法
2016/10/10 PHP
php实现等比例不失真缩放上传图片的方法
2016/11/14 PHP
动态为事件添加js代码示例
2009/02/15 Javascript
Prototype 学习 工具函数学习($方法)
2009/07/12 Javascript
JavaScript动态创建div属性和样式示例代码
2013/10/09 Javascript
Angular的$http与$location
2016/12/26 Javascript
使用vue-resource进行数据交互的实例
2017/09/02 Javascript
JavaScript文本特效实例小结【3个示例】
2018/12/22 Javascript
原生js实现html手机端城市列表索引选择城市
2020/06/24 Javascript
Vue如何将页面导出成PDF文件
2020/08/17 Javascript
Vue2.x-使用防抖以及节流的示例
2021/03/02 Vue.js
python去除所有html标签的方法
2015/05/05 Python
Python自动登录126邮箱的方法
2015/07/10 Python
python列表的常用操作方法小结
2016/05/21 Python
python之Socket网络编程详解
2016/09/29 Python
Python函数式编程
2017/07/20 Python
pandas.DataFrame 根据条件新建列并赋值的方法
2018/04/08 Python
多个应用共存的Django配置方法
2018/05/30 Python
使用Python AIML搭建聊天机器人的方法示例
2018/07/09 Python
python+Splinter实现12306抢票功能
2018/09/25 Python
Python爬虫:将headers请求头字符串转为字典的方法
2019/08/21 Python
pygame库实现俄罗斯方块小游戏
2019/10/29 Python
Pytorch Tensor 输出为txt和mat格式方式
2020/01/03 Python
根据tensor的名字获取变量的值方式
2020/01/04 Python
全球最大的瓷器、水晶和银器零售商:Replacements
2020/06/15 全球购物
教师业务学习制度
2014/01/25 职场文书
管理学院毕业生自荐信范文
2014/03/10 职场文书
一份关于丢失公司财物的检讨书
2014/09/19 职场文书
贪污受贿检讨书范文
2014/11/19 职场文书
2014普法依法治理工作总结
2014/12/18 职场文书
初中历史教学反思
2016/02/19 职场文书