目录
2-1 后台admin 数据库显示优化,Meta内verose相关
2-2 admin后台数据库内容优化显示 -- __str__方法的使用
2-4 admin后台字段显示优化 - varbose_name
2-5 数据库查询优化,解决前台多次连表查询并使用方法对数据库造成的压力
一、数据库结构初步设计
from django.db import models # Create your models here. from django.contrib.auth.models import AbstractUser ''' bbs表结构总结: - DateTimeField - auto_now_add = True :当记录创建时自动添加当前时间 - FileField - upload_to = "":上传文件的保存路径;默认使用头像文件;default:默认文件 - TextField : 大文本字段,可存储大量数据内容 - ForeignKey(to='self', to_field='nid', null=True) :与自身表的nid字段进行自关联 - class Meta:unique_together = (('user', 'article'),): 实现表内俩个字段的联合唯一,防止数据的赃污 ''' class UserInfo(AbstractUser): ''' UserInfo - 用户表(继承AbstractUser) -nid -name -password -email -phone -avatar : 用户头像 -create_date : 用户注册时间 -blog : 对应博客表,一对一 ''' nid = models.AutoField(primary_key=True) phone = models.CharField(max_length=32, null=True) # upload_to = "" 上传文件的保存路径;默认使用头像文件 avatar = models.FileField(upload_to='avatar/', default='/static/img/default.png') # auto_now_add 当记录创建时自动添加当前时间 create_date = models.DateTimeField(auto_now_add=True) blog = models.OneToOneField(to='Blog', to_field='nid',null=True) class Blog(models.Model): ''' Blog - 博客表 -nid -title :博客标题,座右铭 -site_name : 站点名字 -theme :博客主题样式,可存储css文件 ''' nid = models.AutoField(primary_key=True) title = models.CharField(max_length=64) site_name = models.CharField(max_length=32) theme = models.CharField(max_length=54) class Category(models.Model): ''' Category - 文章分类表 -nid -title :文章分类标题 -blog :对应博客表,一对多关系,一个博客下课创建多个文章分类。 ''' nid = models.AutoField(primary_key=True) title = models.CharField(max_length=64) blog = models.ForeignKey(to='Blog', to_field='nid', null=True) class Tag(models.Model): ''' Tag - 文章关键字表 -nid -title:文章关键字 -blog:对应博客表,一对多关系,一个博客下可床架你多个文章关键字 ''' nid = models.AutoField(primary_key=True) title = models.CharField(max_length=64) blog = models.ForeignKey(to='Blog', to_field='nid', null=True) class Article(models.Model): ''' Article - 文章表 - nid - title - desc :摘要 - content :文章内容 - create_