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()
        # 自关联
        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                    
        
根评论子评论的概念
    根评论就是直接评论当前发布的内容的
        
    子评论是评论别人的评论
        1.PHP是世界上最牛逼的语言
            1.1 python才是最牛逼的
                1.2 java才是
        
    根评论与子评论是一对多的关系
"""

 注意自关联方法

上一篇:bbs技术总结


下一篇:阿里云“网红"运维工程师白金:做一个平凡的圆梦人