什么是ORM

什么是ORM

通过 对象 操作数据库 的方法 被称之为 ORM

数据库的**表的格式定义** 和 表里面一条条数据 之间的关系很像python的 类定义类的实例 之间的关系

既然 数据库 表定义和表记录之间的关系 就像 类和实例 之间的关系,Django 就让开发者 通过 类 和 实例的操作 来对应 数据库 表 和记录的操作。

Django 里面, 数据库表的操作,包括 表的定义、表中数据的增删改查,都可以通过 Model 类型的对象进行的。

通常,在Django中

  • 定义一张数据库的表 就是定义一个继承自 django.db.models.Model 的类

  • 定义该表中的字段(列), 就是定义该类里面的一些属性

  • 类的方法就是对该表中数据的处理方法,包括 数据的增删改查

这样,开发者对数据库的访问,从原来的使用底层的 sql 语句,变成 面向对象的开发,通过一系列对象的类定义 和方法调用就可以 操作数据库。

这样做:

首先 极大的简化了我们应用中的数据库开发,因为无需使用sql语句操作数据库了, 提高了开发的效率;

其次 屏蔽了 不同的数据库访问的底层细节,基本做到了 开发好代码后,如果要换数据库,几乎不需要改代码, 修改几个配置项就可以了。

定义 数据库表

创建一个名为common的应用目录, 里面存放我们项目需要的一些公共的表的定义。

python manage.py startapp common

Django是通过定义类来定义数据库表的,所以,我们要定义数据库的表,无需执行sql语句,只需要在app目录下面 定义特殊的类就可以了。数据库表的定义,一般是放在app目录中的 models.py里面的

相关推荐
梦想的颜色42 分钟前
MySQL 数据存储结构与查询执行生命周期深度解析
运维·数据结构·数据库·mysql·线程·优化
电商API_180079052471 小时前
免 TOP 入驻,第三方淘宝商品详情 API 快速接入与代码示例
java·大数据·开发语言·数据库·爬虫·数据分析
神龙斗士2401 小时前
增删改查操作
数据库·mysql
Elastic 中国社区官方博客1 小时前
13.7万人,零人工决策:使用 Elasticsearch 实现智能体驱动的灾害响应系统
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
yuzhiboyouye1 小时前
sql增删改查怎么写?有时会不会有联表查询的增删查改
数据库·sql
jingyu飞鸟2 小时前
openEuler 22.03 LTS SP4安装华为opengauss 22.03 LTS版本数据库,一键复制安装使用,保姆级教程
数据库·华为
IvorySQL2 小时前
【HOW 2026 分论坛演讲】PG/IvorySQL私有云中实践
数据库·人工智能·sql·postgresql
SAP庖丁解码2 小时前
【采购申请的校验——成本中心范围】
数据库
雪的季节2 小时前
HTTP 和 HTTPS 五大核心区别
数据库·http·https
GottdesKrieges2 小时前
OceanBase迁移用户及其权限配置
数据库·oceanbase