zoukankan      html  css  js  c++  java
  • 58.1 BBS

    1.BBS表关系

    记忆:

     2.创建表   看点:1.userInfo 表继承AbstractUser(即使用django自带的字段,并可以扩展自己的字段)  并在setting文件中配置    auth模块功能不受影响

                                 2.  多对多表关系创建 关系表字段可扩展,

       

    # 告诉 django 使用UserInfo为user表
    AUTH_USER_MODEL = 'app01.UserInfo'
    from django.db import models
    from django.contrib.auth.models  import  AbstractUser
    # Create your models here.
    #用户表继承auth_user表
    class  UserInfo(AbstractUser):
        phone = models.BigIntegerField(null=True)
        #用户上传
        avatar = models.FileField(upload_to='avatar/',default='avatar/default.png')
        create_time = models.DateField(auto_now_add=True)
    
        blog = models.OneToOneField(to='Blog')
    
    class Blog(models.Model):
        site_name = models.CharField(max_length=32)
        site_title = models.CharField(max_length=64)
        #该字段用来模拟每个人的站点央视
        site_theme = models.CharField(max_length=64)
    
    
    class  Category(models.Model):
        name = models.CharField(max_length=32)
    
        blog = models.ForeignKey(to='Blog')
    
    
    class  Tag(models.Model):
        name = models.CharField(max_length=32)
    
        blog = models.ForeignKey(to='Blog')
    
    class  Article(models.Model):
        title = models.CharField(max_length=64)
        #摘要
        desc = models.CharField(max_length=254)
        content = models.TextField()
        create_time = models.DateField(auto_now_add=True)
    
        #一对多分类表
        category = models.ForeignKey(to='Category')
    
        #多对多标签表
        tags = models.ManyToManyField(to='Tag',through='Article2Tag',through_fields=('article','tag'))
        #一对多个人站点
        blog = models.ForeignKey(to='Blog')
    
        #数据库优化设计
        comment_num = models.BigIntegerField(null=True)
        up_num = models.BigIntegerField(null=True)
        down_num = models.BigIntegerField(null=True)
    
    class Article2Tag(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')
        is_up = models.BooleanField()
    
    
    class Comment(models.Model):
        user = models.ForeignKey(to='UserInfo')
        article = models.ForeignKey(to='Article')
        content = models.CharField(max_length=254)
        comment_time = models.DateField(auto_now_add=True)
        # 自关联
        parent  = models.ForeignKey(to='self', null=True)
  • 相关阅读:
    Linux Apache Mysql PHP楷模设置配备摆设1
    谋划phpMyAdmin2.6以上版本数据乱码题目
    MYSQL到ORACLE法式迁徙的注意变乱
    关于MySQL中的mysqldump饬令的应用
    MySQL 5.0新特性教程 存储进程:第一讲
    Mysql 数据库的导入与导出
    Linux Apache Mysql PHP典范设置装备安排2
    MYSQL数据库初学者运用指南2
    图解MySQL数据库的铺排和操作3
    MySQL完成表中掏出随机数据
  • 原文地址:https://www.cnblogs.com/bigbox/p/12495048.html
Copyright © 2011-2022 走看看