表结构的基类写法

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')

posted @ 2020-10-12 21:36  王彬。  阅读(187)  评论(0)    收藏  举报