from django.db import models # Create your models here. from django.contrib.auth.models import AbstractUser class UserInfo(AbstractUser): ‘‘‘ 用户表 ‘‘‘ nid = models.AutoField(primary_key=True) telephone = models.CharField(max_length=11, null=True, unique=True) avatar = models.FileField(upload_to=‘avatars/‘, default=‘avatars/default.png‘) create_time = models.DateTimeField(verbose_name=‘创建时间‘,auto_now_add=True) blog = models.OneToOneField(to=‘Blog‘, to_field=‘nid‘, null=True, on_delete=True) class Blog(models.Model): ‘‘‘ 博客信息表(站点表) ‘‘‘ nid = models.AutoField(primary_key=True) title = models.CharField(max_length=64, verbose_name=‘个人博客标题‘) site_name = models.CharField(max_length=64, verbose_name=‘站点名称‘) theme = models.CharField(max_length=64, verbose_name=‘博客主题‘) class Categroy(models.Model): ‘‘‘ 博客个人文章分类 ‘‘‘ nid = models.AutoField(primary_key=True) title = models.CharField(max_length=32, verbose_name=‘分类标题‘) blog = models.ForeignKey(to=‘Blog‘, to_field=‘nid‘, verbose_name=‘所属博客‘, on_delete=True) class Tag(models.Model): ‘‘‘ 博客个人标签表 ‘‘‘ nid = models.AutoField(primary_key=True) title = models.CharField(max_length=32, verbose_name=‘标签名称‘) blog = models.ForeignKey(to=‘Blog‘, to_field=‘nid‘, verbose_name=‘所属博客‘, on_delete=True) class Article(models.Model): ‘‘‘ 文章表 ‘‘‘ nid = models.AutoField(primary_key=True) title = models.CharField(max_length=60,verbose_name=‘文章标题‘) create_time = models.DateTimeField(verbose_name=‘创建时间‘, auto_now_add=True) comment_count = models.IntegerField(default=0) up_count = models.IntegerField(default=0) down_count = models.IntegerField(default=0) user = models.ForeignKey(verbose_name=‘作者‘, to_field=‘nid‘, to=‘UserInfo‘, on_delete=True) categroy = models.ForeignKey(to=‘Categroy‘, to_field=‘nid‘, on_delete=True) tag = models.ManyToManyField(to=‘Tag‘, through=‘Article2Tag‘, through_fields=(‘article‘, ‘tag‘),) class Article2Tag(models.Model): nid = models.AutoField(primary_key=True) article = models.ForeignKey(verbose_name=‘文章‘, to=‘Article‘, to_field=‘nid‘, on_delete=models.CASCADE) tag = models.ForeignKey(verbose_name=‘标签‘, to=‘Tag‘, to_field=‘nid‘, on_delete=models.CASCADE) class Meta: unique_together = [ (‘article‘, ‘tag‘), ] class ArticleUpDown(models.Model): nid = models.AutoField(primary_key=True) user = models.ForeignKey(to=‘UserInfo‘, null=True, on_delete=models.CASCADE) article = models.ForeignKey(to=‘Article‘, on_delete=models.CASCADE) is_up = models.BooleanField(default=True) class Meta: unique_together = [ (‘article‘, ‘user‘), ] class Comment(models.Model): nid = models.AutoField(primary_key=True) user = models.ForeignKey(verbose_name=‘评论者‘, to=‘UserInfo‘, to_field=‘nid‘, on_delete=models.CASCADE) article = models.ForeignKey(verbose_name=‘文章评论‘, to=‘Article‘,to_field=‘nid‘, on_delete=models.CASCADE) content = models.CharField(verbose_name=‘评论内容‘, max_length=200) create_time = models.DateTimeField(verbose_name=‘创建时间‘, auto_now_add=True) parent_comment = models.ForeignKey(‘self‘, null=True, on_delete=models.CASCADE)
原文:https://www.cnblogs.com/ApolloZ/p/10449026.html