环境
- django 1.9
- python 2
app设计
- users-用户管理
- organization-机构和教师管理
- operation-用户操作管理
- course-课程
数据库设计
用户表设计
- 重载AbstractUser
- 在settings文件中加上AUTH_USER_MODEL='user.UserProfile'(app名.表对应的class名)
-
循环引用问题,
-
解决方法,
- EmailVerifyRecord(邮箱验证码), PageBanner(轮播图)一般跟用户关联所以也放到users app中
用户收藏表
收藏类型有课程、机构、讲师,
设计1:
课程字段
机构字段
讲师字段
收藏类型
这种设计的字段或与冗余
设计2:
收藏对象的id
收藏类型
把三种类型统一用id表示,避免了字段的冗余
用户消息表
消息分两种,针对部分用户和所有用户,对于针对所有用户的消息没有用户这个信息,所以将user字段不设计成外键而是整型用来保存用户对象ID,当值为0时表示该消息针对所有用户
注册登录
captcha模块可用于自动生成验证码