Django-ROM详解-快速上手

376 阅读2分钟

这是我参与11月更文挑战的第1天,活动详情查看:2021最后一次更文挑战

Django-ROM详解-快速上手

ORM(Object RelationalMapping)的意思是对象关系映射,Django ORM描述Django数据模型类和数据库之间的映射关系,通俗地讲就是让一个类和一个数据库表进行对应,这使ORM在数据库层和业务逻辑层之间起到了桥梁的作用。

ORM的特点

目前主流的数据库还是关系型数据库,操作这些数据库必然用到结构化查询语言SQL,因此程序员在软件开发过程中,会在业务逻辑代码中写很多SQL语句,许多SQL语句的增、删、改、查代码重复率很高。Django ORM对数据库表进行映射,提供了通过类对象操作数据库的方式。

优点

ORM通过统一格式的业务逻辑代码操作数据库,把SQL语句统一转换成较为固定的Django语法结构。

Django ORM能避免一些重复、简单的劳动,在ORM模式下开发人员不用写SQL语句,更不需要在SQL语句优化上下功夫,可以只专注于业务逻辑的处理,从而提高开发效率。

缺点

Django ORM操作数据库的语法与SQL语句差别很大,需要记住很多特殊语句。

在一定程度上牺牲执行效率。

模式特征

Django ORM与数据库映射的关系表现为Django中的一个数据模型(Model)映射一个数据库表。其基本情况是:类(django.db.models.Model)映射到数据库表,类的属性映射为数据库表字段,类的实例对象则映射为数据行。

Django ORM能实现的功能:一是生成数据库表,如数据库表的创建、修改、删除;二是操作数据库表的数据行,如数据行的增、删、改、查。Django ORM不能创建数据库,需要在数据库管理系统中手工创建。

ORM的用法

数据库连接

新建数据库test

image-20211024184021352

在配置文件setttings.py中修改DATABASES代码块

 DATABASES = {
     'default': {
         'ENGINE': 'django.db.backends.mysql', #数据库引擎
         'NAME': 'test', #数据库名称
         'USER':'root', #数据库用户名
         'PASSWORD':'123456', #数据库密码
         'HOST':'localhost', #数据库地址
         'POST':'3306', #端口号
     }
 }

创建数据模型

在应用程序目录下的models.py文件中输入以下代码

 from django.db import models
 class team(models.Model):
     name=models.CharField(max_length=32,verbose_name='团队名称')
     sum = models.IntegerField(verbose_name='团队人数')

不要忘记在setting,.py中添加应用

在命令行终端输入以下命令,在MySQL中生成数据表。

python manage.py makemigrations

python manage.py migrate

登录MySQL数据库管理系统,可以看到已经生成数据表