ORM
2019-07-24 09:24:23来源:博客园 阅读 ()
简单介绍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语句,然后去数据库中执行
原文链接:https://www.cnblogs.com/missdx/p/11186930.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python 之 前端开发(form标签、单选框、多选框、file上传文 2019-08-13
- python爬虫学习之用Python抢火车票的简单小程序 2019-08-13
- 用python写一个简单的文件上传 2019-07-24
- concurrent.futures模块简单介绍(线程池,进程池) 2019-07-24
- python使用ORM之如何调用多对多关系 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash