BBS論壇 項目表分析

 

1、項目表分析

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)

 

 

相關文章
相關標籤/搜索