第三百七十六节,Django+Xadmin打造上线标准的在线教育平台—创建用户操作app,在models.py文件生成5张表,用户咨询表、课程评论表、用户收藏表、用户消息表、用户学习表
第三百七十六节,Django+Xadmin打造上线标准的在线教育平台—创建用户操作app,在models.py文件生成5张表,用户咨询表、课程评论表、用户收藏表、用户消息表、用户学习表
创建名称为app_operation的用户操作APP,写数据库操作文件models.py
models.py文件
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from __future__ import unicode_literals
from datetime import datetime from django.db import models # 导入models对象 from app_users.models import Users # 导入用户信息表
from app_courses.models import Course # 导入课程表 class UserAsk(models.Model):
name = models.CharField(max_length=20, verbose_name='姓名')
mobile = models.CharField(max_length=10, verbose_name='手机')
course_name = models.CharField(max_length=50, verbose_name='课程名')
add_time = models.DateTimeField(default=datetime.now) class Meta:
verbose_name = '用户咨询表'
verbose_name_plural = verbose_name class CourseComments(models.Model):
user = models.ForeignKey(Users, 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(Users, verbose_name='用户收藏')
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):
user = models.IntegerField(default=0, verbose_name='接收用户id') # 0表示所有用户
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(Users, 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
第三百七十六节,Django+Xadmin打造上线标准的在线教育平台—创建用户操作app,在models.py文件生成5张表,用户咨询表、课程评论表、用户收藏表、用户消息表、用户学习表的更多相关文章
- 第三百七十三节,Django+Xadmin打造上线标准的在线教育平台—创建用户app,在models.py文件生成3张表,用户表、验证码表、轮播图表
第三百七十三节,Django+Xadmin打造上线标准的在线教育平台—创建用户app,在models.py文件生成3张表,用户表.验证码表.轮播图表 创建Django项目 项目 settings.py ...
- 第三百七十八节,Django+Xadmin打造上线标准的在线教育平台—django自带的admin后台管理介绍
第三百七十八节,Django+Xadmin打造上线标准的在线教育平台—django自带的admin后台管理介绍 配置django的admin数据库管理后台 首先urls.py配置数据库后台路由映射,一 ...
- 第三百八十三节,Django+Xadmin打造上线标准的在线教育平台—第三方模块django-simple-captcha验证码
第三百八十三节,Django+Xadmin打造上线标准的在线教育平台—第三方模块django-simple-captcha验证码 下载地址:https://github.com/mbi/django- ...
- 第三百八十八节,Django+Xadmin打造上线标准的在线教育平台—网站列表分页
第三百八十八节,Django+Xadmin打造上线标准的在线教育平台—网站列表分页 分页可以用一个第三方分页模块django-pure-pagination 下载地址:https://github.c ...
- 第三百七十五节,Django+Xadmin打造上线标准的在线教育平台—创建课程机构app,在models.py文件生成3张表,城市表、课程机构表、讲师表
第三百七十五节,Django+Xadmin打造上线标准的在线教育平台—创建课程机构app,在models.py文件生成3张表,城市表.课程机构表.讲师表 创建名称为app_organization的课 ...
- 第三百七十四节,Django+Xadmin打造上线标准的在线教育平台—创建课程app,在models.py文件生成4张表,课程表、课程章节表、课程视频表、课程资源表
第三百七十四节,Django+Xadmin打造上线标准的在线教育平台—创建课程app,在models.py文件生成4张表,课程表.课程章节表.课程视频表.课程资源表 创建名称为app_courses的 ...
- 第三百八十节,Django+Xadmin打造上线标准的在线教育平台—将所有app下的models数据库表注册到xadmin后台管理
第三百八十节,Django+Xadmin打造上线标准的在线教育平台—将所有app下的models数据库表注册到xadmin后台管理 将一个app下的models数据库表注册到xadmin后台管理 重点 ...
- 第三百七十七节,Django+Xadmin打造上线标准的在线教育平台—apps目录建立,以及数据表生成
第三百七十七节,Django+Xadmin打造上线标准的在线教育平台—apps目录建立,以及数据表生成 apps目录建立 我们创建一个apps目录,将所有的app放到apps目录里去,这样方便管理,也 ...
- 第三百七十九节,Django+Xadmin打造上线标准的在线教育平台—xadmin的安装
第三百七十九节,Django+Xadmin打造上线标准的在线教育平台—xadmin的安装 xadmin介绍 xadmin是基于Django的admin开发的更完善的后台管理系统,页面基于Bootstr ...
随机推荐
- 透過手機 App 在 OpenELEC(XBMC)中輸入中文
這裡介紹如何使用手機 App 在沒有中文輸入法的 OpenELEC(XBMC)中輸入中文字. OpenELEC(XBMC)雖然有內建中文語系,但是卻沒有中文的輸入法,沒辦法直接輸入中文字,這對於一般家 ...
- vue 的事件冒泡
一.事件冒泡 方法一.使用event.cancelBubble = true来组织冒泡 <div @click="show2()"> <input type=&q ...
- 12.22日wagas学习笔记
第一部分:vue-cli3 vue.config.js配置: baseUrl:process.env.NODE_ENV === 'production'?'/production-sub-path': ...
- VirtualBox中安装CentOS-7问题说明
之所以选择VirtualBox和CentOS,原因很简单. 目前我只有一台PC,用了几年了,性能很一般,我还需要用它做其他应用,不能直接装Linux,万一安装不成功,有可能一周内就完全没法学习了.以前 ...
- LOCAL_EXPORT_C_INCLUDES和LOCALC_INCLUDES 的差别
http://stackoverflow.com/questions/6595208/what-does-this-line-mean-local-export-c-includes LOCAL_EX ...
- windows下html2jade批量转换
将项目中的代码转换为jade,使用html2jade批量转换 @echo off SETLOCAL ENABLEDELAYEDEXPANSION for %%i in (*.html) do ( ht ...
- mysql处理varchar类型的between和and的时间问题少一天解决;
select * from table where CJSJ day),"%Y-%m-%d") 数据库中的时间类型是varchar,传入的类型也是string 上述sql的意思是: ...
- Android DrawLayout + ListView 的使用(一)
想做一个APP,设计中有侧边栏这个功能,所以现在开始学习下侧边栏的实现. 在官方的UI空间中已经给出了DrawerLayout这个侧滑的菜单空间. 因为在使用DrawerLayout的时候遇到了些问题 ...
- Bootstrap Popover 隐藏的Javasript方法
Bootstrap Popover是Bootstrap的弹出提示控件.我们可以通过data属性或者Javascript来调用该控件.data属性调用定制性较差这里就不细说了,我们讲一下Javascri ...
- Linxu安装Tomcat与Jdk并卸载自带OpenJdk
下载安装tomcat 1.下载apache-tomcat-7.0.47.tar.gz tomcat压缩包上传到linxu服务器 2.cd到文件存放目录使用(tar -xvzf apache-tomca ...