简单介绍ORM:
对象关系映射(英语:(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换 [1]。从效果上说,它其实是创建了一个可在编程语言里使用的--“虚拟对象数据库”。
简单分析ORM的优缺点:
优点:1.简单,不用自己写SQL语句
2.开发效率高
缺点:1.你需要记住ORM的特殊语法
2.因为不是专业的SQL语句,相对于某些大佬的SQL语句,执行效率肯定有差距
ORM中的对应关系:
类——数据表
对象——数据行
属性——字段
ORM能做的事:
1.操作数据表——>创建表、删除表、修改表、操作models.py里面的类
2.操作数据行——>数据的增删改查
但是ORM不能创建数据库,需要事先自己手动创建数据库。
使用Django的ORM详细步骤:
1.自己手动创建数据库
create database 数据库名;
2.在Django项目中的settings.py里面设置连接数据库的相关配置(告诉Django连接哪一个数据库)
1 # 与数据库相关的配置 2 DATABASES = { 3 'default': { 4 # 连接数据库的类型 5 'ENGINE': 'django.db.backends.mysql', 6 # 连接数据库的地址 7 'HOST':'127.0.0.1', 8 # 连接数据库的端口 9 'PORT':3306, 10 # 数据库名称 11 'NAME': 'day61', 12 # 用户 13 'USER':'root', 14 # 密码 15 'PASSWORD':'000000' 16 }
3.在__init__.py里面告诉Djiango用pymysql代替默认的MySQLDB连接MySQL数据库
1 import pymysql 2 # 告诉django用pymysql来代替默认的mysqldb 3 pymysql.install_as_MySQLdb()
4.在app下面的models.py文件夹中定义一个类,这个类必须继承models.Model.
1 from django.db import models 2 3 # Create your models here. 4 # ORM相关的只能写在这个文件里,写在其他文件的话django找不到 5 6 class UserInfo(models.Model): 7 id = models.AutoField(primary_key=True) # 创建一个自增的主键字段 8 name = models.CharField(null=False,max_length=20) # 创建一个varchar(20)类型的不能为空的字段
5.在终端执行两个命令
注:每次在models.py对ORM语句修改后,都要执行以下这两个语句。
(1)python manage.py makemigrations————这句相当于每次改动后,将改动保存到项目文件夹下的migrations中
这里可能会遇到一个错误,解决办法请参见: https://blog.csdn.net/weixin_33127753/article/details/89100552
(2)python manage.py migrate————这句相当于把改动翻译成SQL语句,然后去数据库中执行