数据库设计

2020-04-19  本文已影响0人  满满当当_aebf

改写数据库在用户的基础上 加上其他字段

改写前需删除数据库所以表,重新上传

上层可以引用下层,下层无法引用上层,防止循环引用

users:用户信息,用户创建账号的相关信息内容;

course: 课程信息,具体课程的内容,课程中视频的信息、以及课程下载

organization:课程机构信息、机构城市的信息、机构里老师的信息

operation:用户的操作信息、用户咨询信息、评论、用户收藏、用户消息、用户课程

User中创建一个添加时间的基类

user:用户user层的设计:

内置用户类AbstractUser就是Django内置的一个关于用户操作的类,内置用户类AbstractUser就是Django内置的一个关于用户操作的类from

django.contrib.auth.models import AbstractUser

BaseModel类:创建一个时间基类,abstract=True,那么模型会被认为是一个抽象模型。抽象模型本身不实际生成数据库表,而是作为其它模型的父类,被继承使用。具体内容可以参考Django模型的继承。

class Meta:

    abstract = True

UserProfile:创建用户表,包含具体的用户信息

null=True,blank=True

null是在数据库层面保存的一个空值,blank是在django验证的权限,表明允许为空

upload_to: 上传字段的路径

course: 课程信息model层的设计:

Course:创建具体的课程类型,外键与老师信息绑定(一个老师可以有多个课程)

Lesson:某个课程的具体信息,外键与课程类型绑定

Video:# 视频的信息、地址、学习时长等信息,与课程信息绑定

CourseResource:课程下载信息

organization:organization层的设计:

CourseOrg:课程机构,这个添加了一个City,由用户自行填写城市,存放数据库记录

Teacher:机构中老师具体信息,与机构形成外键绑定

orperation:orperation层的设计

UserAsk:用户的咨询信息

CourseComments:对课程的相关评论,一个课程拥有多个评论,所以这里绑定课程类;

UserFavorite:用户的收藏数据

UserMessage:用户的消息通知

UserCourse:用户所拥有的课程

除了显示的字段还有一些隐性字段 设计时的考虑:Txteld

上一篇下一篇

猜你喜欢

热点阅读