bbs项目表设计

"""
一个项目中最最最重要的不是业务逻辑的书写
而是前期的表设计,只要将表设计好了,后续的功能书写才会一帆风顺

bbs表设计
    1.用户表
        继承AbstractUser
        扩展
            phone 电话号码
            avatar  用户头像
            create_time  创建时间
        
        外键字段
            一对一个人站点表
    
    2.个人站点表
        site_name   站点名称
        site_title  站点标题
        site_theme  站点样式
    
    3.文章标签表
        name        标签名
        
        外键字段
            一对多个人站点
    
    4.文章分类表
        name        分类名
        
        外键字段
            一对多个人站点
    
    5.文章表
        title    文章标题
        desc    文章简介
        content    文章内容
        create_time 发布时间
        
        数据库字段设计优化(******)
            (虽然下述的三个字段可以从其他表里面跨表查询计算得出,但是频繁跨表效率)
        up_num         点赞数
        down_num       点踩数
        comment_num    评论数
        
        外键字段
            一对多个人站点
            多对多文章标签
            一对多文章分类
            
        
    
    6.点赞点踩表
        记录哪个用户给哪篇文章点了赞还是点了踩
        user                        ForeignKey(to="User")                
        article                    ForeignKey(to="Article")    
        is_up                        BooleanField()
        
        1                1                1
        1                2                1
        1                3                0
        2                1                1
        
    
    7.文章评论表
        记录哪个用户给哪篇文章写了哪些评论内容
        user                        ForeignKey(to="User")                
        article                    ForeignKey(to="Article")
        content                    CharField()
        comment_time        DateField()
        # 自关联(例:根子评论),注意null=True,可以为空
# 写法一: parent ForeignKey(to="Comment",null=True) # 写法二:ORM专门提供了自关联写法 parent ForeignKey(to="self",null=True) id(根评论主键值) user_id article_id parent_id 1 1 1 2 2 1 1 # id=1的根评论的子评论 根评论子评论的概念 根评论就是直接评论当前发布的内容的 子评论是评论别人的评论 1.PHP是世界上最牛逼的语言 1.1 python才是最牛逼的 1.2 java才是 根评论与子评论是一对多的关系
"""

 注意自关联方法

 

posted @ 2020-06-10 09:58  耗油炒白菜  阅读(146)  评论(0编辑  收藏  举报