Django5+Vue3 系列文章


前言

此项目采用 Django 框架的 5.0.7 版本进行开发。
Django 5.0 支持的 Python 版本为 3.10、3.11 和 3.12。
CSDN 专栏链接: ~快捷传送门: 留个赞再走呗 😭! ~

uuid

shortuuid

使用 shortuuid 可以生成短小、唯一、随机的标识符,为数据库提供跨平台兼容性、增强隐私性、减少存储空间和避免 ID 冲突等优势,比默认生成的自动增长的 id 更具有安全性。

pip install shortuuid

django-shortuuidfield

django-shortuuidfield 是一个 Django 应用程序,它提供了一个用于 Django 模型的 ShortUUIDField 字段,该字段使用 shortuuid 库来生成短小且唯一的 UUID。
Tips:此项目使用 django-shortuuidfield,已包含 uuid 库无需单>独下载 shortuuid。

pip install django-shortuuidfield

配置 ShortUUIDField

从 shortuuidfield 中导入 ShortUUIDField

from shortuuidfield import ShortUUIDField

添加至 OAUser 模型

uid = ShortUUIDField(primary_key=True)

重建数据库

由于主键的更改会对数据库结构产生重大影响,直接进行迁移可能会导致依赖于 User 表的其他表出现故障。因此,需要先删除所有引用了 User 表的表,然后再重新生成这些表以确保数据库的一致性和功能的完整性。

MySQL 重建数据库 oa

DROP DATABASE IF EXISTS oa;
CREATE DATABASE oa DEFAULT CHARACTER SET utf8mb4;

删除残留迁移文件

迁移文件位于: apps-->oaauth-->migrations-->0001_initial.py

模型映射

终端依次执行如下(示例):

python manage.py makemigrations
python manage.py migrate

检查数据库(示例):

总结

本节介绍了通过安装 django-shortuuidfield,实现数据库的重新初始化和模型迁移,以 UUID 增强实际情况下企业的信息安全。