发布于2019-08-07 10:29 阅读(658) 评论(0) 点赞(3) 收藏(3)
对象关系映射(英语:(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换 [1]。从效果上说,它其实是创建了一个可在编程语言里使用的--“虚拟对象数据库”。
优点:1.简单,不用自己写SQL语句
2.开发效率高
缺点:1.你需要记住ORM的特殊语法
2.因为不是专业的SQL语句,相对于某些大佬的SQL语句,执行效率肯定有差距
类——数据表
对象——数据行
属性——字段
1.操作数据表——>创建表、删除表、修改表、操作models.py里面的类
2.操作数据行——>数据的增删改查
但是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语句,然后去数据库中执行
作者:你太美丽
链接:https://www.pythonheidong.com/blog/article/9856/faf1f81c583d39504ee3/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!