ORM

匿名 (未验证) 提交于 2019-12-02 23:48:02

简单介绍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项目中设置连接数据库的相关配置(告诉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.告诉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语句,然后去数据库中执行

转载请标明出处:ORM
文章来源: ORM
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!