• 模型层及ORM介绍


    模型层及ORM介绍

    模型层

    负责跟数据库之间进行通信

    配置MySQL,下载MySQLclient

    创建数据库

    进入mysql数据库执行
    
    create database 数据库名 default charset utf8
    
    通常数据库名跟项目名保持一致
    
    settings.py里进行数据库的配置
    
    修改 DATABASES 配置项的内容,由sglite3 变为 mysql
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在setting中配置MySQL

    ENGINE- 指定数据库存储引擎
    'django .db .backends .mysql'
    'django.db.backends .sqlite3'
    'django.db.backends.oracle'
    'django.db.backends.postgresq1'
    NAME- 指定要连接的数据库的名称
    USER- 指定登录到数据库的用户名
    PASSWORD-数据库的密码
    HOST/PORT- 连接具体数据库的IP和端口
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    ORM框架

    定义: ORM (Object Relational Mapping)即对象关系映射,它是一种程序技术,它允许你使用类和对象对数据库进行操作,从而避免通过SOL语句操作数据库
    作用

    1.建立模型类和表之间的对应关系,允许我们通过面向对象的方式来操作数据库
    
    2.根据设计的模型类生成数据库中的表格
    
    3.通过简单的配置就可以进行数据库的切换
    
    • 1
    • 2
    • 3
    • 4
    • 5

    优点:

    只需要面向对象编程,不需要面向数据库编写代码
    
    对数据库的操作都转化成对类属性和方法的操作不用编写各种数据库的sql语句
    
    实现了数据模型与数据库的解耦,屏蔽了不同数据库操作上的差异
    
    不在关注用的是mysql、oracle...等数据库的内部细节
    
    通过简单的配置就可以轻松更换数据库,而不需要修改代码
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    模型类代码示例

    # file : bookstore/models.py
    from django.db import models
    
    class Book(models .Mode]) :
    title = models.CharField("书名",max_length=50,default='')
    price = models.DecimalField('定价’, max_digits=7, decimal_places=2, default=0.0)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    数据库迁移

    python manage.py makemigrations #为改动创建迁移记录;
    python manage.py migrate  #将操作同步到数据库。
    
    • 1
    • 2
  • 相关阅读:
    基于go标准分层架构项目设计实现
    Ruby 数据库访问 - DBI 教程
    工业交换机的“自适应”是什么意思?
    【C++】类与对象(中)
    第十九届浙江省 I. Barbecue
    rosbag保存 pcd和image
    (五)socket·socket 实现 服务端广播 -不限制次序,不限制交互次数
    mysql
    YOLOv5算法改进(11)— 在C3模块中添加注意力机制(包括代码+添加步骤+网络结构图)
    ubuntu apt-get update 失败 server certificate verification failed
  • 原文地址:https://blog.csdn.net/m0_54382779/article/details/133221953