首页 > 其他 > 详细

1911A:课程相关5张表设计

时间:2020-11-06 20:19:48      阅读:27      评论:0      收藏:0      [点我收藏+]

1.课程主页面3张表

技术分享图片

 

 

from django.db import models
from utils.MyBaseModel import Base

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=256)
    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

2.课程章节表2张表

技术分享图片

 

 

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(Chapters, 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

3.course/admin.py注册后台管理

from django.contrib import admin
from . import models

admin.site.register(models.CourseType)
admin.site.register(models.CourseTag)
admin.site.register(models.Course)
admin.site.register(models.Sections)
admin.site.register(models.Chapters)

4.迁移表

python manage.py makemigrations
python manage.py migrate

 

1911A:课程相关5张表设计

原文:https://www.cnblogs.com/han0911/p/13938488.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!