BBS项目复习
day01
1.创建项目
2.配置设置
templates路径设置
数据库设置
第三方js,css文件路径设置
3.app创建
创建app
python38 manage.py createapp app01
app添加settings设置
4.表设计
1.用户表
2.站点表
3.文章表
4.文章分类表
5.文章标签表
6.点赞点踩表
7.文章评论表
1.创建用户表,利用
from django.contrib.auth.models import AbstractUser
管理员信息新增,使用自己建的表来使用
电话号码
用户头像:默认用户头像路径
创建时间:自增
2.站点表设计
站点名称
站点标题
站点样式
3.文章表
文章标题
文章内容
文章简介
文章创建时间
优化字段:
点赞数,评论数,点踩数(方便展示)
4.文章分类表
文章分类名称
5.文章标签表
文章标签名称
6.点赞点踩表
是否点赞
7.评论表
哪个用户评论
哪篇文章
评论内容
评论时间
是否有子评论
用户表与站点表
1对1
站点表与文章表
1对多
站点表与文章分类和文章标签
1对多
文章分类与文章表
1对多
文章表与文章标签
多对多
用户表和文章表与点赞点踩
1对多
用户表和文章表与文章评论
1对多
"""
外键创建
一对一:建在查询次数多的表
外键对应表名 = models.OneToOneField(to='外键对应表名', on_delete=models.CASCADE, null=True)
一对多:建在多的表
外键对应表名 = models.ForeignKey(to='外键对应表名', on_delete=models.CASCADE, null=True)
多对多:采用第三张表,建在查询次数多的那张表
外键对应表名 = models.ManyToManyField(to='外键对应表名',
through='第三张表名',
through_fields=('第三张表内关联第一张表名', '第三张表内关联第二张表名'),
null=True
)
# 修改admin后台管理的表名
class Meta:
verbose_name_plural = '表名'
"""
5.数据库迁移命令执行
# 将用户表修改为我们扩展的用户表
AUTH_USER_MODEL = 'app01.UserInfo'
python38 manage.py makemigrations
python38 manage.py migrate
6.首页搭建
复杂样式并修改
今日难点:
1.表关系的整理
2.settings部分的整理
标签:复习,models,day01,文章,用户,外键,站点,表名,bbs
From: https://www.cnblogs.com/zpf1107/p/17060730.html