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项目的 正常运行,也要统一迁移

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

新增或修改数据库的信息

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

相关推荐
stark张宇9 小时前
分布式事务最全图解(6种方案):从强一致的2PC到最终对账,彻底搞懂数据一致性
分布式·后端
遇见小修修9 小时前
打印机连不上电脑无法打印
大数据·运维·python·电脑
AC赳赳老秦9 小时前
电力能源公开数据采集实操:用 OpenClaw 合规抓取电网电价与发电量数据,生成区域能源供需分析报告
大数据·数据库·人工智能·python·php·deepseek·openclaw
应用市场9 小时前
GPT vs Claude 深度对比(2026年9月):从模型特性到编程实战,开发者该怎么选
python·gpt·flask
IT毕设实战小研9 小时前
基于大数据的WTA职业网球赛事演变与竞技格局数据可视化分析
大数据·后端·爬虫·python·信息可视化·课程设计
veminhe9 小时前
python发送邮件带附件
python
zhanghaha13149 小时前
Python进阶教程:28_queue 队列模块 零基础超详细教程
java·开发语言·python
小柯南敲键盘9 小时前
跨马翻译AI工具,批量图片视频翻译与智能抠图一站式解决
人工智能·python·音视频
veminhe9 小时前
python对象的序列化和反序列化
python
weixin199701080169 小时前
[特殊字符]《闲鱼 + 淘宝 + 1688 三平台库存同源:二手ERP主数据治理与超卖防御》(附Python源码)
开发语言·python