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中的多重继承
Apr 28 Python
Python3.6连接Oracle数据库的方法详解
May 18 Python
python 快速把超大txt文件转存为csv的实例
Oct 26 Python
对python 生成拼接xml报文的示例详解
Dec 28 Python
python变量赋值方法(可变与不可变)
Jan 12 Python
Django框架封装外部函数示例
May 28 Python
Pandas DataFrame数据的更改、插入新增的列和行的方法
Jun 25 Python
Python使用tkinter模块实现推箱子游戏
Oct 08 Python
python中使用paramiko模块并实现远程连接服务器执行上传下载功能
Feb 29 Python
Django 多对多字段的更新和插入数据实例
Mar 31 Python
pytest配置文件pytest.ini的详细使用
Apr 17 Python
详解python中[-1]、[:-1]、[::-1]、[n::-1]使用方法
Apr 25 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 中文乱码解决办法总结分析
2009/07/30 PHP
PHP中图片等比缩放的实例
2013/03/24 PHP
基于php中使用excel的简单介绍
2013/08/02 PHP
laravel创建类似ThinPHP中functions.php的全局函数
2016/11/26 PHP
CI(CodeIgniter)框架视图中加载视图的方法
2017/03/24 PHP
基于php中echo用逗号和用点号的区别详解
2018/01/23 PHP
PHP获取类私有属性的3种方法
2020/09/10 PHP
web 页面分页打印的实现
2009/06/22 Javascript
Javascript new Date().valueOf()的作用与时间戳由来详解
2013/04/24 Javascript
jQuery动态设置form表单的enctype值(实现代码)
2013/07/04 Javascript
关于删除时的提示处理(确定删除吗)
2013/11/03 Javascript
js实现的折叠导航示例
2013/11/29 Javascript
jQuery实现隔行背景色变色
2014/11/24 Javascript
浅谈javascript对象模型和function对象
2014/12/26 Javascript
JS实现alert中显示换行的方法
2015/12/17 Javascript
JavaScript检查子字符串是否在字符串中的方法
2016/02/03 Javascript
微信小程序 时间格式化(util.formatTime(new Date))详解
2016/11/16 Javascript
jquery.masonry瀑布流效果
2017/05/25 jQuery
对layui中table组件工具栏的使用详解
2019/09/19 Javascript
详解uniapp的全局变量实现方式
2021/01/11 Javascript
如何管理Vue中的缓存页面
2021/02/06 Vue.js
使用Python的Bottle框架写一个简单的服务接口的示例
2015/08/25 Python
Python Tkinter模块实现时钟功能应用示例
2018/07/23 Python
matplotlib调整子图间距,调整整体空白的方法
2018/08/03 Python
python实现连续变量最优分箱详解--CART算法
2019/11/22 Python
PyTorch加载预训练模型实例(pretrained)
2020/01/17 Python
python入门之井字棋小游戏
2020/03/05 Python
keras绘制acc和loss曲线图实例
2020/06/15 Python
Python同时处理多个异常的方法
2020/07/28 Python
Canvas与Image互相转换示例代码
2013/08/09 HTML / CSS
TripAdvisor斯洛伐克:阅读评论、比较价格和酒店预订
2018/04/25 全球购物
平面设计师岗位职责
2014/09/18 职场文书
国土资源局开展党的群众路线教育实践活动整改措施
2014/09/26 职场文书
学生考试舞弊检讨书
2015/01/01 职场文书
离开雷锋的日子观后感
2015/06/09 职场文书
《窃读记》教学反思
2016/02/18 职场文书