IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 第九章:django与mysql连接与迁移 -> 正文阅读

[Python知识库]第九章:django与mysql连接与迁移

系列文章目录

第一章?:Django安装与配置虚拟环境

第二章:django各模块的作用以及参数说明

第三章:? Django的路由与视图

第四章:django请求

第五章:django会话

第六章:django中的cookie与session

第七章:视图类

第八章:模型类


目录

一、首先要安装一个mysql数据库

二、配置连接数据库

1.更改setting中DATABASES中的数据

2.在软件包中的init文件中导入pymysql,并使用它

安装pymysql

导入

?打开init文件进行pymysql的导入与使用

错误

三、数据表的映射

四、数据库的迁移

生成迁移文件

按照迁移文件进行数据库的迁移与创建

总结



前言

服务器存储数据需要用到数据库,当django自带的数据库不能满足需求的时候,要怎么样去更换数据库,并且把数据迁移到新的数据库中呢,这篇文章揭晓答案


一、首先要安装一个mysql数据库

乌班图虚拟机可以参考mysql安装

windows的话网上教程很多的,mysql安装这里就不再多说了

二、配置连接数据库

1.更改setting中DATABASES中的数据

# 数据库
DATABASES = {
    'default': {
        # 'ENGINE': 'django.db.backends.sqlite3',
        # 直接把原来的后缀换成mysql
        'ENGINE': 'django.db.backends.mysql',
        # 'NAME': BASE_DIR / 'db.sqlite3',
        # 数据库的id地址,本地的话直接用127.0.0.1,虚拟机的话使用虚拟机的地址,我这里用的虚拟机
        'HOST': '172.26.55.57',
        # 端口号,默认是3306,除非你改过数据库配置
        'PORT': '3306',
        # 用来登录数据库的用户名
        'USER': 'root',
        # 用来登录数据库的密码
        'PASSWORD': '123456',
        # 连接的数据库名
        'NAME': 'Djangoone',
    }
}

2.在软件包中的init文件中导入pymysql,并使用它

安装pymysql

在控制台中输入

pip install pymysql

导入

?打开init文件进行pymysql的导入与使用

import pymysql


# 使用mysqldb
pymysql.install_as_MySQLdb()

错误

版本错误可以指定版本号,前三个参数指定版本号,一本不会因为版本不一致出现兼容问题

pymysql.version_info = (1, 4, 13, 'final', 0)

三、数据表的映射

在django中模型类与数据库进行交互,在模型类中定义的类叫做模型类,一个模型类与一个表相对应,在迁移时候django会自动进行数据表的创建

from django.db import models

# python manage.py makemigrations
# python manage.py migrate

# Create your models here.
# models.Model
# 模型类
class BookInfo(models.Model):
    # verbose_name = '书名'(别名), max_length = 20(长度),default(默认值),null=True允许为空
    name = models.CharField(verbose_name='书名', max_length=20)
    chuban_date = models.DateField(verbose_name='出版日期', default='', null=True)
    read_count = models.IntegerField(verbose_name='阅读量', default=0)
    pinglun_count = models.IntegerField(verbose_name='评论量', default=0)
    is_del = models.BooleanField(verbose_name='是否可用', default=False)

    class Meta:
        # 指定表名
        db_table = 'bookinfo'
        # 在后台显示名称
        verbose_name = '图书'
        # 在后台显示名称不加复数
        verbose_name_plural = '图书'

    def __str__(self):
        # 返回对象属性
        return self.name

其中类属性对应数据表中的字段,类属性的参数指定数据库字段的属性,注意class Meta是内部类,用来定义表名和管后台名称(之后要用到,django提供的一个功能)

四、数据库的迁移

生成迁移文件

在迁移之前要使用命令来对我们写的模型类生成一个迁移文件

python manage.py makemigrations

按照迁移文件进行数据库的迁移与创建

python manage.py migrate

这些都需要在终端中进行,并且目录切换到与manage.py文件同目录

总结

在django中创建数据表甚至都不需要你去写sql语句,只需要创建一个模型类与之对应即可,大大方便了编写sql语句创建表的过程,但是缺点也是有的,django把数据表映射成一个对象,由对象操控表,避免不掉一点性能上的消耗

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-05-01 15:42:14  更:2022-05-01 15:43:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 16:01:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码