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

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

新增或修改数据库的信息

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

相关推荐
元宝骑士1 分钟前
FIND_IN_SET使用指南:场景、优缺点与MySQL优化策略
后端·mysql
用户31952370347713 分钟前
记一次 PostgreSQL WAL 日志撑爆磁盘的排查
后端
nghxni3 分钟前
LightESB PlatformHttp v3.0.0:JSONPath 订单转换 HTTP 路由实战
后端
好运的阿财6 分钟前
process 工具与子agent管理机制详解
网络·人工智能·python·程序人生·ai编程
张張40816 分钟前
(域格)环境搭建和编译
c语言·开发语言·python·ai
weixin_4235339920 分钟前
【Windows11离线安装anaconda、python、vscode】
开发语言·vscode·python
武子康36 分钟前
大数据-263 实时数仓-Canal 增量订阅与消费原理:MySQL Binlog 数据同步实践
大数据·hadoop·后端
Ricky111zzz40 分钟前
leetcode学python记录1
python·算法·leetcode·职场和发展
程序猿_极客1 小时前
SpringBoot 三大参数注解详解:@RequestParam @RequestBody @PathVariable 区别及常用开发注解
java·spring boot·后端·面试八股文·springboot注释
小白学大数据1 小时前
Selenium+Python 爬虫:动态加载头条问答爬取
爬虫·python·selenium