用户表

UserMesasage   用户消息
UserFavorite 用户收藏
UserAsk 用户咨询
UserCourse 用户学习的课程
CourseComments 用户评论

收藏有3种类型

代码

from django.db import models
from datetime import datetime
from users.models import UserProfile
from courses.models import Course # Create your models here.
class UserAsk(models.Model):
name = models.CharField(max_length=20, verbose_name="姓名")
mobile = models.CharField(max_length=11, verbose_name="手机号")
course_name = models.CharField(max_length=50, verbose_name="课程名")
add_time = models.DateTimeField(default=datetime.now, verbose_name="添加时间") class Meta:
verbose_name = "用户咨询"
verbose_name_plural = verbose_name class CourseComments(models.Model):
user = models.ForeignKey(UserProfile, verbose_name="用户")
course = models.ForeignKey(Course, verbose_name="课程")
comments = models.CharField(max_length=200, verbose_name="评论")
add_time = models.DateTimeField(default=datetime.now, verbose_name="添加时间") class Meta:
verbose_name = "课程评论"
verbose_name_plural = verbose_name class UserFavorite(models.Model):
user = models.ForeignKey(UserProfile, verbose_name="用户")
course = models.ForeignKey(Course, verbose_name="用户")
# teacher = 可以用外键
# org =
# fav_type =
fav_id = models.IntegerField(default=0, verbose_name="数据id")
fav_type = models.IntegerField(choices=((1, "课程"), (2, "课程结构"), (3, "讲师"),), default=1, verbose_name="收藏类型")
add_time = models.DateTimeField(default=datetime.now, verbose_name="添加时间") class Meta:
verbose_name = "用户收藏"
verbose_name_plural = verbose_name class UserMessage(models.Model):
# 0表示发给所有用户, user = 非0, 发给某个用户的
user = models.IntegerField(default=0, verbose_name="接收用户")
message = models.CharField(max_length=500, verbose_name="消息内容")
has_read = models.BooleanField(default=False, verbose_name="是否已读")
add_time = models.DateTimeField(default=datetime.now, verbose_name="发送时间") class Meta:
verbose_name = "用户消息"
verbose_name_plural = verbose_name class UserCourse(models.Model):
user = models.ForeignKey(UserProfile, verbose_name="用户")
course = models.ForeignKey(Course, verbose_name="用户")
add_time = models.DateTimeField(default=datetime.now, verbose_name="添加时间") class Meta:
verbose_name = "用户课程"
verbose_name_plural = verbose_name

我把他在思路上排了下前后

# 用户消息-用户收藏-咨询-学习的课程-评论

from users.models import UserProfile
from courses.models import Course class UserMessage(models.Model):
# 0表示发给所有用户, user = 非0, 发给某个用户的
user = models.IntegerField(default=0, verbose_name="接收用户")
message = models.CharField(max_length=500, verbose_name="消息内容")
has_read = models.BooleanField(default=False, verbose_name="是否已读")
add_time = models.DateTimeField(default=datetime.now, verbose_name="发送时间") class Meta:
verbose_name = "用户消息"
verbose_name_plural = verbose_name class UserFavorite(models.Model):
user = models.ForeignKey(UserProfile, verbose_name="用户")
course = models.ForeignKey(Course, verbose_name="用户")
# teacher = 可以用外键
# org =
# fav_type =
fav_id = models.IntegerField(default=0, verbose_name="数据id")
fav_type = models.IntegerField(choices=((1, "课程"), (2, "课程结构"), (3, "讲师"),), default=1, verbose_name="收藏类型")
add_time = models.DateTimeField(default=datetime.now, verbose_name="添加时间") class Meta:
verbose_name = "用户收藏"
verbose_name_plural = verbose_name class UserAsk(models.Model):
name = models.CharField(max_length=20, verbose_name="姓名")
mobile = models.CharField(max_length=11, verbose_name="手机号")
course_name = models.CharField(max_length=50, verbose_name="课程名")
add_time = models.DateTimeField(default=datetime.now, verbose_name="添加时间") class Meta:
verbose_name = "用户咨询"
verbose_name_plural = verbose_name class UserCourse(models.Model):
user = models.ForeignKey(UserProfile, verbose_name="用户")
course = models.ForeignKey(Course, verbose_name="用户")
add_time = models.DateTimeField(default=datetime.now, verbose_name="添加时间") class Meta:
verbose_name = "用户课程"
verbose_name_plural = verbose_name class CourseComments(models.Model):
user = models.ForeignKey(UserProfile, verbose_name="用户")
course = models.ForeignKey(Course, verbose_name="课程")
comments = models.CharField(max_length=200, verbose_name="评论")
add_time = models.DateTimeField(default=datetime.now, verbose_name="添加时间") class Meta:
verbose_name = "课程评论"
verbose_name_plural = verbose_name

至此小结

project
app
settings设置
zh-hans
tz
数据库不转 app创建
模型 1.user
userprofile
image
nick_name
gender
brith
mobile
address banner
name
url
index
add_time
email
code
email
send_type
send_time 模型的
字段名显示
class Meta: 表名显示
class __str__: 给展示的字段
app名字显示 用户注册使用自定义表
settings设置 courses
课程-章节-视频
-课程资源附件
organization
城市-课程机构-教师 类比:app名-表名-字段名字 operation operation(导入关系)
| |
UserProfile course organization
(按序)消息
收藏
咨询
学习
评论 用户消息(应该是谁发来的)
用户(外)(id=0和非0表示发给all,或某人)
消息
has_read
时间
收藏
用户(外)
课程(外)
fav_id(1,2,3)
fav_type(1:课程 2:培训机构 3:教师)
时间 咨询(可未登录)
用户name
手机
课程(外)
时间
学习课程
用户(外)
课程(外)
时间
评论
用户(外)
课程(外)
评论内容
时间

[py][mx]operation模型设计的更多相关文章

  1. [py][mx]django城市-教学机构-教师模型设计

    分析下城市-教学机构-教师模型设计 CourseOrg 课程信息 Teacher 教师信息 CityDict 城市信息 代码 from datetime import datetime from dj ...

  2. [py][mx]django项目-让系统用自定义的users表认证

    项目开端 参考的是mxonline项目 先把这两项完成 1.app设计 2.app的models的设计 经过分析系统有四个模块 users - 用户管理 course - 课程管理 oranizati ...

  3. [py][mx]xadmin详细设置-将app注册到xadmin

    首先createsuperuser,创建用户, 然后登陆xadmin. 理解下models的各个字段 复数形式及返回 注册app users/adminx.py 显示字段 users/adminx.p ...

  4. [py][mx]django xadmin后台配置

    xadmin配置 - 安装 pip install -r https://github.com/sshwsfc/xadmin/blob/django2/requirements.txt 以下被我测试通 ...

  5. [py][mx]django处理登录逻辑

    浏览器同源策略(same-origin policy) csrf攻击防御核心点总结 django的cookie和session操作-7天免登录 flask操作cookie&django的see ...

  6. [py][mx]django的cookie和session操作-7天免登录

    浏览器同源策略(same-origin policy) csrf攻击防御核心点总结 django的cookie和session操作-7天免登录 flask操作cookie&django的see ...

  7. [py][mx]django自定义认证类-实现邮箱作为用户名登录

    创建自定义验证用户名密码类CustomBackend users/views.py from django.contrib.auth import authenticate, login from d ...

  8. [py][mx]django分页第三方模块django-pure-pagination

    前台的这些数据都是从后台取来的 分页模块django-pure-pagination - 一款基于django pagination封装的更好用的分页模块 https://github.com/jam ...

  9. [py][mx]django课程页显示city和机构封面图

    city和课程机构信息展示到前台去 organization/views.py from django.views.generic.base import View from organization ...

随机推荐

  1. Windows 7笔记本创建wifi热点供手机上网教程

    Windows 7笔记本创建wifi热点供手机上网教程 | 浏览:60606 | 更新:2012-07-19 11:48 | 标签:笔记本 wifi 1 2 3 4 5 6 7 分步阅读 用智能手机的 ...

  2. Matlab——filter函数用法

    filter:滤波函数,可用来解差分方程. y = filter(b,a,X) [y,zf] = filter(b,a,X) [y,zf] = filter(b,a,X,zi) y = filter( ...

  3. linux添加静态路由

    1.使用route命令,查看本机路由直接输入route回车即可.route 命令参数: add     增加路由 del     删除路由 -net    设置到某个网段的路由 -host   设置到 ...

  4. 常见微信小程序开发工具

    图标: 1.iconfont图标库:http://www.iconfont.cn/home/index?spm=a313x.7781069.1998910419.2

  5. jQuery Sizzle选择器(二)

    自己开始尝试读Sizzle源码.   1.Sizzle同过自执行函数的方式为自己创建了一个独立的作用域,它可以不依赖于jQuery的大环境而独立存在.因此它可以被应用到其它js库中.实现如下:(fun ...

  6. imsdroid 学习(初认识)

    转:http://www.cnblogs.com/milospooner/archive/2012/07/15/2591979.html idoubs是imsdroid的IOS版本. 从google以 ...

  7. Android 缓存策略demo

    packageinstaller\permission\model\PermissionApps.java /** * Class used to reduce the number of calls ...

  8. 【读书笔记】setsockopt

    setsockopt   设置套接口的选项. #include <sys/types.h> #include <sys/socket.h> int setsockopt(int ...

  9. 配置Groovy开发环境(Windows)

    1.配置java环境 跳过具体配置 C:\Users\Administrator>java -version java version "1.8.0_45" Java(TM) ...

  10. Office Online Server2016安装手册

    Office Online Server2016安装手册 1.加入域 加入域,机器名为:OOS.Contoso.com 2.安装前提条件 运行powershell检查先决条件 Add-WindowsF ...