django ORM 数据库连接配置

Posted fanggege

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django ORM 数据库连接配置相关的知识,希望对你有一定的参考价值。

前言

django 中连接数据,可以使用pymysql 也可以使用django 自带的框架ORM 

pymysql 操作数据库

用pymysql连接MySQL数据库查询数据
1. import pymysql
2. 建立连接
3. 获取光标
4. 执行SQL语句
5. 获取数据
6. 关闭光标
7. 关闭连接

ORM是个啥

对象关系映射

类       数据表
属性      字段
对象        数据行

两者的比较

使用pymysql连接数据库缺点:
1. 麻烦
2. 自己写SQL语句!!!
使用ORM工具连接数据库
- 优点:
1. 不用自己写SQL语句!!!
- 缺点:
1. 执行效率不高(需要翻译成语句再去执行)

Django中如何使用ORM

1. 告诉Django连接哪个MySQL数据库(settings.py)

技术分享图片
settings.py  中数据库连接配置
#默认的配置,默认使用的是django 自带的数据库sqlite3
# DATABASES = {
#     ‘default‘: {
#         ‘ENGINE‘: ‘django.db.backends.sqlite3‘,
#         ‘NAME‘: os.path.join(BASE_DIR, ‘db.sqlite3‘),
#     }
# }

DATABASES = {
    default: {
        ENGINE: django.db.backends.mysql,         #引擎
        NAME: cmdb,                               #数据库名称
        HOST:127.0.0.1,                           #主机地址
        PORT:3306,                                  #端口
        USER:root,                                #用户名
        PASSWORD:111111,                          #密码
    }
}
View Code

2. 告诉Django用pymysql连接MySQL数据库 (默认用的是MySQLDB)

在项目的__init__.py 中加入如下配置

技术分享图片
import pymysql
pymysql.install_as_MySQLdb()
View Code

3. 去app/models.py里面创建类

技术分享图片
from django.db import models
class IDC(models.Model):
    """
    机房信息
    """
    name = models.CharField(机房, max_length=32)
    floor = models.IntegerField(楼层, default=1)

    class Meta:
        verbose_name_plural = "机房表"

    def __str__(self):
        return self.name
View Code

4. 让Django去数据库帮我创建类对应的数据表
  1. python manage.py makemigrations           --> 将models.py的改动记录在小本本上
  2. python manage.py migrate              --> 将变更记录翻译成SQL语句,去数据库执行

5、在django 中查看数据库表数据

  添加数据源(mysql 作为数据源)

  技术分享图片

      配置数据库连接信息

  技术分享图片

  注意:第一次配置需要下载驱动,在此页面的下面有提示,下载可以。

  添加sqlite3 作为数据源

  技术分享图片

  注意:sqlite3 为文件数据库,数据库实体本身就在django项目目录内,直接右键作为数据源打开即可。

 

以上是关于django ORM 数据库连接配置的主要内容,如果未能解决你的问题,请参考以下文章

10.Django-数据库操作与ORM模型

Web框架之Django_02基本操作(Django项目启动配置数据库连接orm增删改查)

关于Django中ORM数据库迁移的配置

Django进阶-ORM框架

Django基于ORM数据库配置

python - django (ORM使用步骤)