0
点赞
收藏
分享

微信扫一扫

模型层及ORM介绍一

eelq 2023-05-07 阅读 78




回顾Django MTV




模型层及ORM介绍一_数据库


模型层-负责跟数据库之间进行通信


Django配置mysql



模型层及ORM介绍一_django_02



模型层及ORM介绍一_数据库_03


查看Linux系统是否安装相应的包


apt list --installed|grep -E 'libmysqlclient-dev|python3-dev'



模型层及ORM介绍一_python_04


如果没有则安装


apt-get install default-libmysqlclient-dev python3-dev


然后执行pip安装MySQL相关的库


pip3 install mysqlclient



模型层及ORM介绍一_python_05


查看python环境是否MySQL依赖包


pip3 freeze|grep -i 'mysql'



模型层及ORM介绍一_模板_06


进入下一步


安装好数据库后执行下一步



模型层及ORM介绍一_python_07


第一步:创建数据库



模型层及ORM介绍一_django_08


第二步:配置settings.py



模型层及ORM介绍一_数据库_09


配置详解



模型层及ORM介绍一_django_10


什么是模型:


1.模型是一个python类,它是由django.db.models.Model派生出子类。


2.一个模型类代表数据库中的一张数据表。


3.模型类中每一个类属性都代表数据库中的一个字段。


4.模型是数据交互的接口,是表示和操作数据库的方法和方式。


ORM框架


定义:


ORM 对象关系映射,它是一种程序技术,它允许你使用类和对象对数据库进行操作,从而避免通过SQL语句操作数据库。


作用:


1.建立模型类和表之间的对应关系,允许我们通过对象的方式来操作数据库。


2.根据设计的模型类生成数据库中的表格。


3.通过简单的配置就可以进行数据库的切换。


优点:


只需要面向对象编程,不需要面向数据库编写代码。


     对数据库的操作都转化成对类属性和方法的操作。


     不用编写各种数据库的sql语句


实现了数据模型与数据库的解耦,屏蔽了不同数据库操作上的差异。


     不在关注用的是某个数据库的内部细节。


     通过简单配置就可以轻松更换数据库,而不需要修改代码


缺点:


    对复杂业务,使用成本较高。


    根据对象的操作转换成SQL语句,根据查询结果转化成对象,在映射过程中有性能损失。


映射图



模型层及ORM介绍一_python_11


模型案例:



模型层及ORM介绍一_模板_12



模型层及ORM介绍一_模板_13



模型层及ORM介绍一_ORM_14


模型类代码示例:



模型层及ORM介绍一_django_15


详解:



模型层及ORM介绍一_数据库_16


数据库迁移:


将模型类的表进行创建,这个过程称为数据库迁移。


迁移是Django同步您对模型所作更改(添加字段,删除模型等)到您的数据库模式的方式。


    

模型层及ORM介绍一_django_17



模型层及ORM介绍一_ORM_18



模型层及ORM介绍一_ORM_19


同步回数据库


迁移前-库是空的



模型层及ORM介绍一_python_20


迁移后-库是有表的



模型层及ORM介绍一_模板_21


创建模型类流程


1、创建应用


2、在应用下的models.py中编写模型类



模型层及ORM介绍一_ORM_22


3、迁移同步 :生成迁移文件-makemigrations & 同步到数据库-migrate


4、任何关于表结构的修改,务必在对应的模型类上修改


案例:


    

模型层及ORM介绍一_ORM_23



模型层及ORM介绍一_ORM_24



模型类字段类型


更多字段类型详解参考官方文档


模型字段参考 | Django 文档 | Django



模型层及ORM介绍一_模板_25



模型层及ORM介绍一_python_26



模型层及ORM介绍一_数据库_27



模型层及ORM介绍一_python_28



模型层及ORM介绍一_ORM_29



模型层及ORM介绍一_模板_30



再创建一个模型类


在bookstore/models.py 应用中 添加 一个模型类



模型层及ORM介绍一_python_31


    

模型层及ORM介绍一_数据库_32



模型类-字段选项


更多字段详解: 模型字段参考 | Django 文档 | Django



模型层及ORM介绍一_django_33



模型层及ORM介绍一_模板_34



模型层及ORM介绍一_数据库_35



模型层及ORM介绍一_ORM_36




Meta类-定义


    使用内部Meta类 来给模型赋予属性,Meta类下有很多内建的类属性,可对模型类做一些控制



模型层及ORM介绍一_python_37



模型层及ORM介绍一_django_38



练习-修改模型类



模型层及ORM介绍一_python_39



模型层及ORM介绍一_ORM_40





举报

相关推荐

0 条评论