[py][mx]operation模型设计
用户表
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模型设计的更多相关文章
- [py][mx]django城市-教学机构-教师模型设计
分析下城市-教学机构-教师模型设计 CourseOrg 课程信息 Teacher 教师信息 CityDict 城市信息 代码 from datetime import datetime from dj ...
- [py][mx]django项目-让系统用自定义的users表认证
项目开端 参考的是mxonline项目 先把这两项完成 1.app设计 2.app的models的设计 经过分析系统有四个模块 users - 用户管理 course - 课程管理 oranizati ...
- [py][mx]xadmin详细设置-将app注册到xadmin
首先createsuperuser,创建用户, 然后登陆xadmin. 理解下models的各个字段 复数形式及返回 注册app users/adminx.py 显示字段 users/adminx.p ...
- [py][mx]django xadmin后台配置
xadmin配置 - 安装 pip install -r https://github.com/sshwsfc/xadmin/blob/django2/requirements.txt 以下被我测试通 ...
- [py][mx]django处理登录逻辑
浏览器同源策略(same-origin policy) csrf攻击防御核心点总结 django的cookie和session操作-7天免登录 flask操作cookie&django的see ...
- [py][mx]django的cookie和session操作-7天免登录
浏览器同源策略(same-origin policy) csrf攻击防御核心点总结 django的cookie和session操作-7天免登录 flask操作cookie&django的see ...
- [py][mx]django自定义认证类-实现邮箱作为用户名登录
创建自定义验证用户名密码类CustomBackend users/views.py from django.contrib.auth import authenticate, login from d ...
- [py][mx]django分页第三方模块django-pure-pagination
前台的这些数据都是从后台取来的 分页模块django-pure-pagination - 一款基于django pagination封装的更好用的分页模块 https://github.com/jam ...
- [py][mx]django课程页显示city和机构封面图
city和课程机构信息展示到前台去 organization/views.py from django.views.generic.base import View from organization ...
随机推荐
- 告知你不为人知的UDP-疑难杂症和使用
版权声明:本文由黄日成原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/848077001486437077 来源:腾云阁 h ...
- dos 下如何查看环境变量
使用命令:echo %path%
- oracle数据库用户加锁和解锁
oracle数据库安装好之后,scott之类的用户默认情况下是被锁住的,无法使用scott用户登录数据库.使用有alter user数据库权限的用户登陆,角色选sysdba,执行以下命令: 解锁命令: ...
- 关于卸载vmware后如何删除VMware Network Adapter VMnet1虚拟网卡
默认情况下.我们在windows下安装了vmware虚拟机后,都会产生VMware Network Adapter VMnet1虚拟网卡 对于vmware虚拟网卡的管理,我们可以在vmware虚拟机软 ...
- 关于Nagios通过NRPE监控客户端的安装与配置
环境介绍>>>>>>>>>>>>>>>>>>>>>>>> ...
- python偏函数的运用
摘要:python的设计核心原则就是简洁——在这种原则的指导下,诞生了lambda表达式和偏函数:二者都让函数调用变得简洁.本文主要为你介绍偏函数的应用. 1.为什么要使用偏函数 如果我们定义了一个函 ...
- Docker 学习应用篇三:使用docker搭建的环境,安装thinksns
Thinksns 是一个开源的社交网站,因为目前的项目需要用到这个,所以就下载一个安装试试看. 之前在windows上用了wamp,安装的很顺利.但是项目是要部署到linux上的.于是我便用了Dock ...
- 树形DP总结,持续更新
自己做了动态规划的题目已经有了一个月,但是成效甚微,所以来总结一下动态规划,希望自己能够温故知新.这个博客是关于树形dp的,动态规划的一类题目. 首先从最简单的树形DP入手,树形DP顾名思义就是一棵树 ...
- pandas将DataFrame的列变成行索引
pandas提供了set_index方法可以将DataFrame的列(多列)变成行索引,通过reset_index方法可以将层次化索引的级别会被转移到列里面. 1.DataFrame的set_inde ...
- 为VS定制一个自己的代码生成器 - 自定义工具开发
自定义工具开发 为VS定制一个自己的代码生成器 如何在Visual Studio中开发自己的代码生成器插件 你必须懂的 T4 模板:深入浅出 Regasm组件注册工具使用方法 Regasm 注册C# ...