django之ORM介绍

ORM

在进入ORM之前,先看一下传统的操作数据库的方式:

import pymysql
db = pymysql.connect(db= "guest",
        user="root",
        passwd="",
        host="127.0.0.1",)
cursor = db.cursor()
cursor.execute("select realname from sign_guest order by create_time")
name = [row[0] for row in cursor.fetchall()]
print(name)
[‘张三‘, ‘李四‘, ‘康‘, ‘李五‘, ‘lily‘, ‘zhangailing‘, ‘dulala‘, ‘adu‘, ‘tester01‘, ‘tester01‘, ‘tester02‘, ‘andy‘, ‘vivian‘]
2~5 ---- 首先要连接db
6   ---- 然后获得db的执行器对象
7   ---- 然后通过执行器运行sql,此时cursor对象相当于一个容器,存放了执行sql的结果
8   ---- 最后从cursor中取出来数据

是不是很费事?那么ORM到底是什么呢? ORM就是可以把对db的增删改查等一系列操作通过class.method或者class.attribute的方式来操作,是不是很简单,那么看一下下面这个demo,这个demo就是设计并创建了表,可以先看一下代码demo:

from django.db import models

# Create your models here.
class UserMessage(models.Model):  # UserMessage对应db的表名
   name = models.CharField(max_length=20, verbose_name="用户名")
   email = models.EmailField(verbose_name="邮箱")
   address = models.CharField(max_length=100, verbose_name="联系地址")
   message = models.CharField(max_length=500, verbose_name="留言信息")

   class Meta:
      verbose_name = "用户留言信息"

开始演示---------

先贴出来demo的目录结构

首先在message这个应用下的models.py编写一个model代码

from django.db import models

# Create your models here.
class UserMessage(models.Model):  # UserMessage对应db的表名
   name = models.CharField(max_length=20, verbose_name="用户名")
   email = models.EmailField(verbose_name="邮箱")
   address = models.CharField(max_length=100, verbose_name="联系地址")
   message = models.CharField(max_length=500, verbose_name="留言信息")

   class Meta:
      verbose_name = "用户留言信息"

这里在项目目录执行makemigrations命令,创建model

D:\myproject\djangopro1
(venv3) $ python manage.py makemigrations message
System check identified some issues:

WARNINGS:
?: (2_0.W001) Your URL pattern ‘^form/$‘ has a route that contains ‘(?P<‘, begins with a ‘^‘, or ends with a ‘$‘. This was likely an oversight when migrating to django.urls.path().
Migrations for ‘message‘:
  message\migrations\0001_initial.py
    - Create model UserMessage

注意:message在django工程里是一个应用的角色,要注册到djangopro1工程的djangopro1里的settings.py中(图中的2,暂时理解为工程主配置应用)

命令执行如果没有报错,继续执行migrate,如下:

D:\myproject\djangopro1
(venv3) $ python manage.py migrate message
System check identified some issues:

WARNINGS:
?: (2_0.W001) Your URL pattern ‘^form/$‘ has a route that contains ‘(?P<‘, begins with a ‘^‘, or ends with a ‘$‘. This was likely an oversight when migrating to django.urls.path().
Operations to perform:
  Apply all migrations: message
Running migrations:
  Applying message.0001_initial... OK
 

到这里UserMessage表就创建成功了,可以在db看一下表结构

原文地址:https://www.cnblogs.com/kknote/p/11768365.html

时间: 2024-10-13 14:31:50

django之ORM介绍的相关文章

Django中ORM介绍和字段及字段参数

https://www.cnblogs.com/liwenzhou/p/8688919.html Django中ORM介绍和字段及字段参数 Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中. ORM在业务逻辑层和数据库

Django中ORM介绍和字段及其参数

ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中. ORM在业务逻辑层和数据库层之间充当了桥梁的作用. ORM的由来 字母‘O’起源于“对象”(Object),'R'代表“关系”(Relational). 几乎所有的软件开发过程中都会涉及到对象和关系数据库.在用户层面和业务逻辑层

Django中ORM介绍

目录 一 ORM介绍 1.1 ORM 概念 1.2 ORM的由来 1.3 ORM的优势 1.4 ORM的劣势 1.5 ORM总结 二 Django中的ORM 2.1 Django使用MySQL数据库 2.2 Model 2.3 快速入门 一 ORM介绍 1.1 ORM 概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动

Django中ORM介绍和字段参数

Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中. ORM在业务逻辑层和数据库层之间充当了桥梁的作用. 原文地址:https://www.cnblogs.com/pengpengge/p/9396331.html

Django中ORM字段以及字段参数介绍

一:Django中ORM的介绍 1.ORM的概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中. ORM在业务逻辑层和数据库层之间充当了桥梁的作用. 2.ORM的来源 让我们从O/R开始.字母O起源于"对象"(Object),而R则来自于"关系"(Relational)

django 之 orm

ORM(Object Relational Mapping) ORM介绍 orm概念 对象关系映射(object Relational Mapping简称ORM )模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说 ORM 是通过使用秒速对象和数据库之间映射的元数据 将程序中的对象自动持久化到关系数据库中. ORM 在业务逻辑层和数据库层之间充当桥梁做用 ORM 的由来 让我们从O/R开始.字母O起源于"对象"(Object),而R则来自于"关系&q

Django学习【第5篇】:Django之ORM数据库操作

django之ORM数据库操作 一.ORM介绍 映射关系: 表名 -------------------->类名 字段-------------------->属性 表记录----------------->类实例化对象 ORM的两大功能: 操作表: - 创建表 - 修改表 - 删除表 操作数据行: - 增删改查 ORM利用pymysql第三方工具链接数据库 Django没办法帮我们创建数据库,只能我们创建完之后告诉它,让django去链接 二.创建表之前的准备工作 一.自己创建数据库

Django学习:ORM

Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中. ORM在业务逻辑层和数据库层之间充当了桥梁的作用. ORM由来 让我们从O/R开始.字母O起源于"对象"(Object),而R则来自于"关系&qu

Django之ORM(一)

ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中. ORM在业务逻辑层和数据库层之间充当了桥梁的作用. ORM由来 让我们从O/R开始.字母O起源于"对象"(Object),而R则来自于"关系"(Relational). 几乎所有的软件开发过程中都会