37 lines
1.8 KiB
Python
37 lines
1.8 KiB
Python
from django.db import models
|
|
from rbac.models import CommonModel, UserProfile
|
|
|
|
# Create your models here.
|
|
class Course(CommonModel):
|
|
"""
|
|
视频课程分类
|
|
"""
|
|
name = models.CharField(max_length=200, verbose_name='名称')
|
|
description = models.TextField(verbose_name='课程介绍', null=True, blank=True)
|
|
sort = models.IntegerField(default=1, verbose_name='排序数字')
|
|
create_admin = models.ForeignKey(UserProfile, on_delete=models.SET_NULL, null=True, blank=True, related_name='course_create_admin')
|
|
|
|
class Video(CommonModel):
|
|
"""
|
|
视频
|
|
"""
|
|
name = models.CharField(verbose_name='视频名称', max_length=100)
|
|
course = models.ForeignKey(Course, verbose_name='所属课程', on_delete=models.CASCADE)
|
|
description = models.TextField(verbose_name='视频描述', null=True, blank=True)
|
|
fileid = models.CharField(verbose_name='云点播视频id', unique=True, max_length=200)
|
|
mediaurl = models.CharField(verbose_name='视频地址', max_length=200)
|
|
coverurl = models.CharField(verbose_name='封面地址', max_length=200)
|
|
duration = models.IntegerField(verbose_name='时长(秒)', default=0)
|
|
views = models.IntegerField(verbose_name='观看次数', default=0)
|
|
viewsp = models.IntegerField(verbose_name='观看人数', default=0)
|
|
|
|
class VRecord(CommonModel):
|
|
|
|
"""
|
|
观看记录
|
|
"""
|
|
consumer = models.ForeignKey('crm.consumer', on_delete=models.CASCADE, verbose_name='观看人', related_name='viewrecord_consumer')
|
|
views = models.PositiveIntegerField(verbose_name='观看次数', default=0)
|
|
completed = models.BooleanField(verbose_name='是否观看完成', default=False)
|
|
current = models.PositiveIntegerField(verbose_name='当前观看进度(秒)', default=0)
|
|
video = models.ForeignKey(Video, verbose_name='点播视频', on_delete=models.CASCADE, related_name='record_video') |