Django数据库配置+迁移

目录

配置settings.py

在项目下新建bookstore应用

将新建应用添加到项目中

创建模型

执行数据库信息迁移

新增或修改数据库的信息


配置settings.py

找到项目同名文件夹下的settings.py文件,将原有的django默认配置修改为下图

引擎只需要将最后一部分改为对应数据库,如mysql、oracle等

NAME对应当前使用的数据库名称

USER为用户名,PASSWORD为密码,HOST为ip地址,本地可替换为localhost

PORT为数据库端口号,mysql默认使用3306端口

在项目下新建bookstore应用

附上从创建项目到创建项目下的应用的全部指令
我的项目名称为mysite,应用名称为bookstore

将新建应用添加到项目中

创建模型

django中的模型对应到数据库中就是一张表

创建该类模型必须继承django中已有的一个Model类,且必须写在当前文件夹下的models.py中

模型类中的每个属性都一一对应表中的每个字段
在模型类中可新建一个Meta类,该类的属性用于操控表的属性

python 复制代码
#models.py
from django.db import models


# Create your models here.
class Book(models.Model):
    title = models.CharField('书名', max_length=50, default='', unique=True)
    pub = models.CharField('出版社', max_length=100, default='', null=False)
    price = models.DecimalField('价格', max_digits=7, decimal_places=2)
    info = models.CharField('描述', max_length=100, default='')
    market_price = models.DecimalField('零售价', max_digits=7, decimal_places=2, default=0.0)

    class Meta:
        db_table = 'book'


class Author(models.Model):
    name = models.CharField('姓名', max_length=11)
    age = models.IntegerField('年龄', default=1)
    email = models.EmailField('邮箱', null=True)

    class Meta:
        db_table = 'author'

执行数据库信息迁移

命令行定位至manage.py的上一级(可以直接调用到manage.py即可)

我的当前位置是D:\PyCharm\PyCharm Community Edition 2022.3.2\pydoc\DjAPP\mysite>

按顺序执行下面两行指令

python 复制代码
python manage.py makemigrations

python manage.py migrate

看到类似显示就是执行正确了,其中有很多是django中自带的数据库信息,为了保障django项目的 正常运行,也要统一迁移

执行完后对应的数据库结构如下所示

新增或修改数据库的信息

只需再次执行两行指令即可更新,但切记有任何修改或新增操作时,都要第一时间进行数据库迁移操作,避免后续对数据库数据的操作出错

相关推荐
2301_7869643612 分钟前
EXCEL Python 实现绘制柱状线型组合图和树状图(包含数据透视表)
python·microsoft·excel
skd899934 分钟前
小蜗牛拨号助手用户使用手册
python
「QT(C++)开发工程师」39 分钟前
STM32 | FreeRTOS 递归信号量
python·stm32·嵌入式硬件
史迪仔01121 小时前
[python] Python单例模式:__new__与线程安全解析
开发语言·python·单例模式
冼紫菜1 小时前
[特殊字符]CentOS 7.6 安装 JDK 11(适配国内服务器环境)
java·linux·服务器·后端·centos
胡耀超1 小时前
18.自动化生成知识图谱的多维度质量评估方法论
人工智能·python·自动化·知识图谱·数据科学·逻辑学·质量评估
三块钱07941 小时前
【原创】基于视觉大模型gemma-3-4b实现短视频自动识别内容并生成解说文案
开发语言·python·音视频
神码小Z1 小时前
Ubuntu快速安装Python3.11及多版本管理
python
JOYUAGV2 小时前
Word压缩解决方案
python·word
mahuifa2 小时前
(9)python开发经验
python·开发经验