You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
116 lines
4.3 KiB
116 lines
4.3 KiB
# -*-coding:utf-8-*-
|
|
|
|
from django.contrib.auth.models import AbstractUser
|
|
from django.db import models
|
|
|
|
|
|
# Create your models here.
|
|
class User(AbstractUser):
|
|
username = models.CharField(max_length=150, blank=True, null=False, unique=True, verbose_name='用户名')
|
|
account = models.CharField(max_length=20, default='', verbose_name="账号")
|
|
password = models.CharField(max_length=150, null=False, verbose_name="密码")
|
|
email = models.CharField(max_length=20, verbose_name="邮箱", null=True)
|
|
u_image = models.ImageField(upload_to='avatar/%Y/%m', default='avatar/default.png', verbose_name="头像图片路径" )
|
|
class Meta:
|
|
verbose_name = "用户"
|
|
verbose_name_plural = verbose_name
|
|
|
|
def __unicode__(self):
|
|
return self.username
|
|
|
|
|
|
class Classify(models.Model):
|
|
name = models.CharField(max_length=30, verbose_name='分类名称')
|
|
intro = models.CharField(max_length=100, verbose_name='分类简介')
|
|
|
|
class Meta:
|
|
verbose_name = "分类"
|
|
verbose_name_plural = verbose_name
|
|
|
|
def __unicode__(self):
|
|
return self.name
|
|
|
|
|
|
class College(models.Model):
|
|
name = models.CharField(max_length=20, verbose_name='大学名称')
|
|
intro = models.CharField(max_length=50, verbose_name='大学简介')
|
|
logo = models.CharField(max_length=50, verbose_name='大学 logo')
|
|
co_image = models.CharField(max_length=50, verbose_name='大学图片')
|
|
schoolbadge = models.CharField(max_length=50, verbose_name='大学背景图片')
|
|
|
|
class Meta:
|
|
verbose_name = "大学"
|
|
verbose_name_plural = verbose_name
|
|
|
|
def __unicode__(self):
|
|
return self.name
|
|
|
|
|
|
class Material(models.Model):
|
|
name = models.CharField(max_length=20, verbose_name='资料名称')
|
|
author = models.CharField(max_length=20, verbose_name='作者')
|
|
intro = models.CharField(max_length=50, verbose_name='资料简介')
|
|
downloadnum = models.IntegerField(verbose_name='下载数量')
|
|
m_image = models.CharField(max_length=20, verbose_name='资料图片')
|
|
|
|
classifyid = models.ForeignKey(to=Classify, on_delete=models.CASCADE,verbose_name='所属分类')
|
|
|
|
class Meta:
|
|
verbose_name = "资料"
|
|
verbose_name_plural = verbose_name
|
|
|
|
def __unicode__(self):
|
|
return self.name
|
|
|
|
|
|
class Course(models.Model):
|
|
name = models.CharField(max_length=20, verbose_name='课程名称')
|
|
author = models.CharField(max_length=20, verbose_name='作者')
|
|
intro = models.CharField(max_length=50, verbose_name='课程简介')
|
|
v_image = models.CharField(max_length=30, verbose_name='课程图片地址')
|
|
viewnum = models.IntegerField(verbose_name='观看数量',null=True )
|
|
likenum = models.IntegerField(verbose_name='点赞数量',null=True)
|
|
collectnum = models.IntegerField(verbose_name='收藏数量',null=True)
|
|
coursefile = models.CharField(max_length=30, verbose_name='课件')
|
|
sumtime = models.IntegerField(verbose_name='课程总时长')
|
|
|
|
collegeid = models.ForeignKey(to=College, on_delete=models.CASCADE, verbose_name='所属大学')
|
|
classifyid = models.ForeignKey(to=Classify, on_delete=models.CASCADE,verbose_name='所属分类')
|
|
|
|
class Meta:
|
|
verbose_name = "课程"
|
|
verbose_name_plural = verbose_name
|
|
|
|
def __unicode__(self):
|
|
return self.name
|
|
|
|
|
|
class Video(models.Model):
|
|
videoid = models.CharField(max_length=30, verbose_name='视频地址')
|
|
sectionname = models.CharField(max_length=30, verbose_name='视频章节名称')
|
|
time = models.CharField(max_length=20, verbose_name='视频时长')
|
|
|
|
courseid = models.ForeignKey(to=Course, on_delete=models.CASCADE,verbose_name='所设课程')
|
|
|
|
class Meta:
|
|
verbose_name = "视频"
|
|
verbose_name_plural = verbose_name
|
|
|
|
def __unicode__(self):
|
|
return self.sectionname
|
|
|
|
|
|
class History(models.Model):
|
|
historytime = models.CharField(max_length=50, verbose_name="历史时间", null=True)
|
|
collect = models.BooleanField(verbose_name="收藏", default=False)
|
|
|
|
userid = models.ForeignKey(to=User, on_delete=models.CASCADE,verbose_name='所属用户')
|
|
videoid = models.ForeignKey(to=Video, on_delete=models.CASCADE,verbose_name='所属视频')
|
|
|
|
class Meta:
|
|
verbose_name = "观看历史"
|
|
verbose_name_plural = verbose_name
|
|
|
|
def __unicode__(self):
|
|
return self.collect
|