一、项目表分析

from django.db import models
from django.contrib.auth.models import AbstractUser # Create your models here.
# 用户表
class UserInfo(AbstractUser):
phone = models.BigIntegerField(null=True)
create_time = models.DateField(auto_now_add=True)
# 该字段会将接收的文件自动放到avatar文件夹下,只存放该文件的路径
avatar = models.FileField(upload_to='avatar')
blog = models.OneToOneField(to='Blog', null=True) # 个人站点表
class Blog(models.Model):
site_name = models.CharField(max_length=32)
site_title = models.CharField(max_length=64)
# 个人站点的样式文件,存放样式文件的路径
theme = models.CharField(max_length=64) # 分类表
class Category(models.Model):
name = models.CharField(max_length=32)
blog = models.ForeignKey(to='Blog', null=True) # 标签表
class Tag(models.Model):
name = models.CharField(max_length=64)
blog = models.ForeignKey(to='Blog', null=True) # 文章表
class Article(models.Model):
title = models.CharField(max_length=64)
desc = models.CharField(max_length=255)
# 内容为大段文本内容
content = models.TextField()
create_time = models.DateField(auto_now_add=True)
# 查询优化
# 评论数 点赞数 点踩数
comment_num = models.IntegerField()
up_num = models.IntegerField()
down_num = models.IntegerField() blog = models.ForeignKey(to='Blog', null=True)
category = models.ForeignKey(to='Category', null=True)
tags = models.ManyToManyField(to='Tag', through='Article2Tags', through_fields=('article', 'tag')) class Article2Tags(models.Model):
article = models.ForeignKey(to='Article')
tag = models.ForeignKey(to='Tag') # 点踩点赞表
class UpAndDown(models.Model):
user = models.ForeignKey(to='UserInfo')
article = models.ForeignKey(to='Article')
# 是点赞 1 还是点踩 0
is_up = models.BooleanField() # 评论表
class Comment(models.Model):
user = models.ForeignKey(to='UserInfo')
article = models.ForeignKey(to='Article')
content = models.CharField(max_length=255)
create_time = models.DateField(auto_now_add=True)
parent = models.ForeignKey(to='self', null=True)

BBS论坛 项目表分析的更多相关文章

  1. 做bbs论坛项目的收获(1)

    1. 当两张表出现关联的时候,关联的外键,千万不能是汉字,千万不能使汉字,因为这个问题,直接导致项目进行不下去..... 顺便记录一下知识点(一) 当用frameset设置网页的结构的时候 eg: & ...

  2. BBS论坛项目

    一.表结构设计: 1.帖子: class Article(models.Model): title = models.CharField(max_length=255,unique=True) cat ...

  3. 【BBS】BBS论坛项目各个页面的工作流程图

    1论坛整体结构 2数据库结构 3登录页面 4论坛首页(显示各个板块) 5显示板块对应的内容 6文章内容页 7新增板块.发表文章.回复 8版面管理.用户管理.发帖排行

  4. Django项目 BBS论坛

    BBS论坛 一.项目表分析 二.自定义form组件 三.注册功能 四.BBS论坛 登录功能

  5. Python之路【第十八篇】Django小项目简单BBS论坛部分内容知识点

    开发一个简单的BBS论坛 项目需求: 整体参考“抽屉新热榜” + “虎嗅网” 实现不同论坛版块 帖子列表展示 帖子评论数.点赞数展示 在线用户展示 允许登录用户发贴.评论.点赞 允许上传文件 帖子可被 ...

  6. Django小项目简单BBS论坛

    开发一个简单的BBS论坛 项目需求: 1 整体参考"抽屉新热榜" + "虎嗅网" 2 实现不同论坛版块 3 帖子列表展示 4 帖子评论数.点赞数展示 5 在线用 ...

  7. python 学习笔记二十 django项目bbs论坛

    项目:开发一个简单的BBS论坛 需求: 整体参考“抽屉新热榜” + “虎嗅网” 实现不同论坛版块 帖子列表展示 帖子评论数.点赞数展示 在线用户展示 允许登录用户发贴.评论.点赞 允许上传文件 帖子可 ...

  8. Python之路,Day17 - 分分钟做个BBS论坛

    Python之路,Day17 - 分分钟做个BBS论坛   本节内容: 项目:开发一个简单的BBS论坛 需求: 整体参考"抽屉新热榜" + "虎嗅网" 实现不同 ...

  9. Python开发一个简单的BBS论坛

    项目:开发一个简单的BBS论坛 需求: 整体参考“抽屉新热榜” + “虎嗅网” 实现不同论坛版块 帖子列表展示 帖子评论数.点赞数展示 在线用户展示 允许登录用户发贴.评论.点赞 允许上传文件 帖子可 ...

随机推荐

  1. Jeecg集成Swagger-ui

    <context:component-scan base-package="springfox"/> <bean class="org.jeecgfra ...

  2. HTML5自定义属性的设置与获取

    <div id="box" aaa="bbb" data-info="hello"></div> <body& ...

  3. flex上下、左右居中

    tip:1)flex是用于div布局用的,作用于一级子元素(父元素写样式,作用于子元素) 2)弹性盒模型 3)英文解释justify-content: 对齐内容(内容一般写在主轴上)align-ite ...

  4. 列表分成N等份

    将一个长列表分为N个短列表 def Equal_division_list(eq_list, n): ''' :param seq:传入的列表 :param n:划分的份数,几等分 :return:返 ...

  5. 牛客练习赛51 B 子串查询 https://ac.nowcoder.com/acm/contest/1083/B

    题目描述 给出一个长度为n的字符串s和q个查询.对于每一个查询,会输入一个字符串t,你需要判断这个字符串t是不是s的子串.子串的定义就是存在任意下标a<b<c<d<e,那么”s ...

  6. Quartz CronTrigger 整配置说明

    Quartz cron 表达式的格式向下支持到秒级别的计划,而 UNIX cron 计划仅支持至分钟级.  Quartz用cron 表达式存放执行计划,引用了cron表达式的CronTrigger在计 ...

  7. .net core 根据环境变量区分正式、测试 配置文件

    新建测试.正式环境下所用的 配置信息文件 appsettings.Development.json 文件信息: { "Logging": { "LogLevel" ...

  8. Java支持的数据类型有哪些?什么是拆装箱?

    Java中有八种基本数据类型以及引用类型 基本数据类型: byte(1字节),short(2字节),int(4字节),long(8字节),char(2字节),boolean(不确定,取值是true/f ...

  9. 杭电多校第三场-H-Game

    题目描述 Again Alice and Bob is playing a game with stones. There are N piles of stones labelled from 1 ...

  10. scip 练习2.18

    (define (append a b ) (if (null? a )b (cons (car a) (append (cdr a) b)))) (define (reverse l) (appen ...