python之Django框架的ORM简介

本文介绍了ORM的概念、由来及优势,强调了其在减少重复SQL代码和提高开发效率上的作用。接着详细讲解了Django中的ORM,包括如何配置MySQL数据库、Model的设计以及各种字段类型。最后提到了自定义字段和Model的Meta参数,帮助开发者更好地理解和运用Django的ORM。
摘要由CSDN通过智能技术生成

Django之ORM (Object Relational Mapping(ORM)
一.ORM介绍
1.ORM概念
对象关系映射模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术.
2.ORM由来
让我们从O/R开始。字母O起源于"对象"(Object),而R则来自于"关系"(Relational)。
几乎所有的软件开发过程中都会涉及到对象和关系数据库。在用户层面和业务逻辑层面,我们是面向对象的。
当对象的信息发生变化的时候,我们就需要把对象的信息保存在关系数据库中。
按照之前的方式来进行开发就会出现程序员会在自己的业务逻辑代码中夹杂很多SQL语句用来增加、读取、修改、删除相关数据,
而这些代码通常都是极其相似或者重复的。
3.ORM的优势
ORM解决的主要问题是对象和关系的映射,它通常将一个类和一张表一一对应,类的每个对象对应表中的一条记录,类的每个属性
对应表中的每个字段.
ORM提供了对数据库的映射,不用直接编写SQL代码,只需操作对象就能对数据库的数据进行操作.
让开发人员专注于业务逻辑的处理,提高了开发效率.
4.ORM的劣势
在一定程度上牺牲程序的执行效率.
ORM的操作是有限的,也就是ORM定义好的操作是可以完成的,一些复杂的查询操作是完成不了。不能建数据库和删除数据库.
ORM用多了SQL语句就不会写了,关系数据库相关技能退化…
5.ORM总结
ORM只是一种工具,工具确实能解决一些重复,简单的劳动,
但我们不能指望某个工具能一劳永逸地解决所有问题,一些特殊问题还是需要特殊处理的。
但是在整个软件开发过程中需要特殊处理的情况应该都是很少的,否则所谓的工具也就失去了它存在的意义。
二.Django中的ORM
(一).Django项目使用MySQL数据库
1.在Django 项目的settings.py文件中,配置数据库连接信息:

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

2.在与Django 项目同名的目录下的__init__.py 文件中写下如下代码,告诉Django 使用pymysql模块连接MySQL数据库:

import pymysql
pymysql.install_as_MySQLdb()

3.数据库迁移的时候出现一个警告
WARNINGS:
?: (mysql.W002) MySQL Strict Mode is not set for database connection ‘default’
HINT: MySQL’s Strict Mode fixes many data integrity problems in MySQL, such as data truncation upon insertion, by escalating warnings into errors. It is strong

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值