zoukankan      html  css  js  c++  java
  • Django-ORM初识

    Django之ORM基础

    一、ORM简介:

    ORM概念:

    对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。

    简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。

    ORM在业务逻辑层和数据库层之间充当了桥梁的作用

    ORM由来:

    让我们从O/R开始。字母O起源于"对象"(Object),而R则来自于"关系"(Relational)。

    几乎所有的软件开发过程中都会涉及到对象和关系数据库。在用户层面和业务逻辑层面,我们是面向对象的。当对象的信息发生变化的时候,我们就需要把对象的信息保存在关系数据库中。

    按照之前的方式来进行开发就会出现程序员会在自己的业务逻辑代码中夹杂很多SQL语句用来增加、读取、修改、删除相关数据,而这些代码通常都是重复的。

    ORM的优势:

    ORM解决的主要问题是对象和关系的映射。它通常把一个类和一个表一一对应,类的每个实例对应表中的一条记录,类的每个属性对应表中的每个字段。 

    ORM提供了对数据库的映射,不用直接编写SQL代码,只需像操作对象一样从数据库操作数据。

    让软件开发人员专注于业务逻辑的处理,提高了开发效率。

    ORM的劣势:

    ORM的缺点是会在一定程度上牺牲程序的执行效率。

    ORM用多了SQL语句就不会写了,关系数据库相关技能退化...

    二、Django连接MySQL数据库

    1. 在Django项目的settings.py文件中,配置数据库连接信息:

    DATABASES = {
        "default": {
            "ENGINE": "django.db.backends.mysql",
            "NAME": "你的数据库名称",  # 需要自己手动创建数据库
            "USER": "数据库用户名",
            "PASSWORD": "数据库密码",
            "HOST": "数据库IP",
            "POST": 3306
        }
    }

    注意:

           1."ENGINE" "NAME","USER"等一定要大写

           2.3306 不加引号

    2. 在Django项目(注意,项目里的,不是app)的__init__.py文件中写如下代码,告诉Django使用pymysql模块连接MySQL数据库:

    import pymysql
     
    pymysql.install_as_MySQLdb()

    3.需在pycharm里操作链接mysql数据库:

    三、Django中ORM的(简单)增删改查

    1.表操作

    1.1增加表

    from django.db import models
    class Classes(models.Model):  
        id=models.AutoField(primary_key=True)
        name=models.CharField(max_length=32)

    注意:

    1. 1.类要继承models.Model
    2. 2.每个字段被指定为一个类属性,每个属性映射到一个数据库列。

    2.数据操作

    增:

    models.Classes.object.create(name='ly')

    models.Classes.object.get(id=1).delete()

    ret=Classes.objects.get(id=1)
    ret.name='zzy'
    ret.save()

    models.Person.object.all() #查找所有记录,返回一个queryset对象
    models.Person.object.get(字段=值)  #按照字段查找
  • 相关阅读:
    frp反向代理+内网穿透+ Metasploit渗透windows
    FRP实现内网穿透
    FRP 内网穿透工具
    通过代理实现在校园外使用校园网内的服务 (frp内网穿透)
    戴维斯双击
    pycharm2019,3.1版本的有效激活方法
    一键对centos7.6安装python3环境已经pip3
    在linux设置/etc/vimrc 将vim 中后缀.sh的文件 的前几行进行默认输入
    Postman Interceptor和postman更改id仍然无法使用的,从这里下载相同版本的postman和interceptor插件
    Postman Interceptor安装成功却无法在Postman启用的解决办法
  • 原文地址:https://www.cnblogs.com/zzy-9318/p/8654379.html
Copyright © 2011-2022 走看看