Django实战-ORM 数据库配置

无人久伴 提交于 2020-11-08 23:30:06

Django实战-调查问卷表设计优化

Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。


一、Django 数据库配置

修改 settings.py 文件关于数据库的配置:

# Django默认的数据库库,SQLit配置DATABASES = {    'default': {        'ENGINE': 'django.db.backends.sqlite3',  # sqlite引擎        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),    }}

再添加一个数据库:仿照"default"的格式直接添加:

DATABASES = {    'default': {        'ENGINE': 'django.db.backends.sqlite3',        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),    },    'master': {        'ENGINE': 'django.db.backends.sqlite3',        'NAME': os.path.join(BASE_DIR, 'master.sqlite3'),    },}


使用mysql,需要进行以下配置

① 编辑项目文件夹下的 settings.py 文件

DATABASES = {    'default': {        'ENGINE': 'django.db.backends.mysql',  # mysql引擎        'NAME': 'BookDb',                # 数据库名称, 需要通过命令 CREATE DATABASE BookDb 在mysql命令窗口中提前创建        'USER': 'root',   # 数据库用户名        'PASSWORD': 'xxx', # 数据库密码 没有密码则为空字符串        'HOST': '', # 数据库主机,留空默认为localhost        'PORT': '3306', # 数据库端口    }}

② 编辑项目文件夹下的__init__.py ,由于mysql在Django中默认驱动是MySQLdb, 而该驱动不适用于python3, 因此,需要更改驱动为PyMySQL。

import pymysql
pymysql.install_as_MySQLdb()


二、显示 SQL 语句

  ORM 是高层的面向对象的操作,转换为低层的SQL语句,如果想在终端打印对应的SQL语句,可以在 settings.py 中加上日志记录。
LOGGING = {    'version': 1,    'disable_existing_loggers': False,    'handlers': {        'console':{            'level':'DEBUG',            'class':'logging.StreamHandler',        },    },    'loggers': {        'django.db.backends': {            'handlers': ['console'],            'propagate': True,            'level':'DEBUG',        },    }}


往期回顾

Django实战-日志

Django源码学习-4-Signals 信号量

Django源码学习-1-安装与创建应用

Django实战-信息资讯-CMS权限管理

本文分享自微信公众号 - 数据云团(SmartData)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

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