django--ORM入门到精通
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django--ORM入门到精通相关的知识,希望对你有一定的参考价值。
一,Django ORM 与原生SQL对比
ORM: 优点: 1.简单,不用自己SQL语句 2.开发效率高 缺点: 1.记忆你这个特殊的语法 2. 相对于大神的SQL语句,肯定执行效率有差距
二、ORM的对应关系
ORM的对应关系: 类 ---> 数据表 对象 ---> 数据行 属性 ---> 字段
三、ORM能做的事儿
ORM能做的事儿: 1.操作数据表 ---> 创建表、删除表、修改表 2.操作数据行 ---> 数据的增、删、改、查 注意事项:不能创建数据库、自己动手创建数据库
四、自己动手手动创建数据库
1. 修改django项目中settings.py 中数据库连接类型:
create database dbs11;
2. 在Django项目中设置连接数据库的相关配置(告诉Django连接哪一个数据库)
#数据库相关配置 DATABASES = { 'default':{ #连接的数据库类型 'ENGINE':'django.db.backends.mysql', #连接数据库的地址 'HOST':'127.0.0.1', #数据库端口 'PORT':3306, #连接数据库的名称 'NAME':"dbs11", #连接数据库的用户名 'USER':'root', #连接数据库的密码 'PASSWORD':'123456' } }
3.告诉Django用pymysql代替默认的MySQLDB 连接MySQL数据库
在项目目录中__init__.py文件中导入MySQL连接配置文件
import pymysql #告诉Django用pymysql来代替默认的MySQLdb pymysql.install_as_MySQLdb()
4.在项目如(app)下面的models.py 文件中定义一个类,这个类必须继承models.Model
from django.db import models #ORM相关的只能写在这个文件里,写到别的文件里Django找不到 ##例如: class UserInfo(models,Model): id = models.AutoField(primary_key=True) #创建一个自增的主键字段 name = models.CharField(null=False,max_length=16) #创建一个varchar类型的字段不能为空
5.执行两个命令
python3 manage.py makemigrations python3 manage.py migrate
以上是关于django--ORM入门到精通的主要内容,如果未能解决你的问题,请参考以下文章