表结构的基类写法
1在 course/models.py写表结构
from django.db import models class Base(models.Model): create_time=models.DateTimeField('创建时间',auto_now_add=True,null=True) update_time=models.DateTimeField('更新时间',auto_now=True,null=True) class Meta: abstract=True # Create your models here. class CourseType(Base): title=models.CharField('课程类别',max_length=16) sequence=models.IntegerField('展示顺序',default=10) class Meta: db_table='tb_coursetype' def __str__(self): return self.title class CourseTag(Base): title=models.CharField('课程标签',max_length=16) sequence = models.IntegerField('', default=10) class Meta: db_table='tb_coursetag' def __str__(self): return self.title class Course(Base): STATUS=( ('0','即将上线'), ('1','已上线'), ('2','已下线'), ) title=models.CharField('课程名',max_length=24) desc=models.CharField('课程描述',max_length=24) img=models.ImageField('课程logo',upload_to='course',null=True) course_type=models.ForeignKey(CourseType,verbose_name='课程类型',on_delete=models.SET_NULL,default=None,null=True) course_tag=models.ManyToManyField(CourseTag,verbose_name='课程标签') status=models.CharField('课程状态',choices=STATUS,max_length=8,default='1') attention=models.IntegerField('关注人数',default=0) learner=models.IntegerField('学习人数',default=0) class Meta: db_table='tb_course' def __str__(self): return self.title class Chapters(Base): title=models.CharField('章标题',max_length=24) serial_num=models.IntegerField('章序号') course=models.ForeignKey(Course,related_name='chapters',on_delete=models.SET_NULL,null=True) class Meta: db_table='tb_chapters' def __str__(self): return self.title class Sections(Base): title=models.CharField('节标题',max_length=24) serial_num = models.IntegerField('节序号') chapters=models.ForeignKey(Course,related_name='sections',on_delete=models.SET_NULL,null=True) learn_time=models.IntegerField('学习小时',default=1) video=models.FileField('上传视频',upload_to="videos/%Y%m%d/",blank=True,max_length=1024) seq_num=models.IntegerField('序号',default=1) class Meta: db_table = 'tb_sections' def __str__(self): return self.title
在syl/settings 中添加media
MEDIA_URL='/media/'
MEDIA_ROOT=os.path.join(BASE_DIR,'media')