Django博客开发教程:数据库设计分析
1.1、Django博客开发教程:开发前的准备2.2、Django博客开发教程:项目需求分析
3.Django博客开发教程:数据库设计分析
4.Django博客开发教程:创建项目5.Django博客开发教程:基础配置6.Django博客开发教程:欢迎页面7.Django博客开发教程:创建数据库模型8.Django博客开发教程:用Admin管理后台管理数据9.Django博客开发教程:使用富文本编辑器添加数据10.Django博客开发教程:使用ckeditor富文本编辑器添加数据11.Django博客开发教程:URL与视图函数12.Django博客开发教程:体验django模板,13.Django博客开发教程:体验数据查询14.Django博客开发教程:一些常用的模板使用方法15.Django博客开发教程:实现模板之前的分析与准备16.Django博客开发教程:实现网站首页17.Django博客开发教程:实现文章列表18.Django博客开发教程:实现文章内容页19.Django博客开发教程:实现标签页面20.Django博客开发教程:实现搜索页面21.Django博客开发教程:单页面实现与代码优化从网站需求分析及网站功能、页面设计可以知道,我们的Blog主要以文章内容为主。所以我们在设计数据库的时候,我们主要以文章信息为核心数据,然后逐步向外扩展相关联的数据信息。
从这篇文章http://demo.django.cn/show-10.html可以看到,文章有标题、分类、作者、浏览次数、发布时间、文章标签等信息。
这其中,文章与分类的关系是一对多的关系,什么是一对多?就是一篇文章只能有一个分类,而一个分类里可以有多篇文章。文章与标签的关系是多对多的关系,多对多简单理解就是,一篇文章可以有多个标签,一个标签里同样可以有多篇文章。关于一对多、多对多,大家可以查看这篇文章:多个数据模型间的关系
我们将文章表命名为Article,通过前面的分析得出文章信息表Article的数据库结构如下:
表字段 | 字段类型 | 备注 |
id | int类型,长度为11 | 主键,由系统自动生成 |
title | CharField类型,长度为100 | 文章标题 |
category | ForeignKey | 外键,关联文章分类表 |
tags | ManyToManyField | 多对多,关联标签列表 |
body | TextField | 文章内容 |
user | ForeignKey | 外键,文章作者关联用户模型,系统自带的 |
views | PositiveIntegerField |
文章浏览数,正的整数,不能为负 |
tui | ForeignKey |
外键,关联推荐位表 |
created_time | DateTimeField |
文章发布时间 |
从文章表里,我们关联了一个分类表,我们把这个分类表命名为category,category表的数据库结构如下:
表字段 | 字段类型 | 备注 |
id | int类型,长度为11 | 主键,由系统自动生成 |
name | CharField类型,长度为30 | 分类名 |
文章关联的标签表,我们命名为tag,结构如下:
表字段 | 字段类型 | 备注 |
id | int类型,长度为11 | 主键,由系统自动生成 |
name | CharField类型,长度为30 | 标签名 |
文章关联的推荐位表,命名为tui,结构如下:
表字段 | 字段类型 | 备注 |
id | int类型,长度为11 | 主键,由系统自动生成 |
name | CharField类型,长度为30 | 标签名 |
除此之外,我们还有两个独立的表,和文章没有关联的,一个是幻灯图片的表,一个是友情链接的表。
幻灯图表,命名为banner,数据库结构如下:
表字段 | 字段类型 | 备注 |
id | int类型,长度为11 | 主键,由系统自动生成 |
text_info | CharField类型,长度为100 | 标题,图片文本信息 |
img | ImageField类型 | 图片类型,保存传图片的路径 |
link_url | URLField类型 | 图片链接的URL |
is_active | BooleanField布尔类型 | 有True 和False两个值,意思为是否激活 |
友情链接表命名为link,结构如下:
表字段 | 字段类型 | 备注 |
id | int类型,长度为11 | 主键,由系统自动生成 |
name | CharField类型,长度为70 | 友情链接的名称 |
linkurl | URLField类型 | 友情链接的URL |
至此,我们的数据库构造大致完成,后期如果还有其它的需求,我们可以在这基础上进行增加或者删除。下面我们就开始进行项目的创建与开发。
合集:
Django博客开发教程
分类:
开发
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理