添加operations模块
添加operations模块,models内容为:
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=100, 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
def __str__(self):
return self.name
class CourseComment(models.Model):
user = models.ForeignKey(UserProfile, on_delete=models.CASCADE, verbose_name='用户')
name = models.CharField(max_length=100, verbose_name='评论名')
course = models.ForeignKey(Course, on_delete=models.CASCADE, 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
def __str__(self):
return self.name
class UserFavorite(models.Model):
user = models.ForeignKey(UserProfile, on_delete=models.CASCADE, verbose_name='收藏用户')
name = models.CharField(max_length=100, verbose_name='收藏名')
fav_id = models.IntegerField(default=0, verbose_name='数据ID')
fav_type = models.IntegerField(default=1, choices=((1, '课程'), (2, '机构'), (3, '教师')), verbose_name='收藏类型')
add_time = models.DateTimeField(default=datetime.now, verbose_name='创建时间')
class Meta:
verbose_name = '用户收藏'
verbose_name_plural = verbose_name
def __str__(self):
return self.name
class UserMessage(models.Model):
# user发送的消息,有发送给单个用户,也有发给全体或多个用户
# 本例中 0 是全体接收消息用户,非0则是指定的消息接收用户id
user = models.IntegerField(default=0, verbose_name='接受消息用户id')
name = models.CharField(max_length=100, 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
def __str__(self):
return self.name
class UserCourse(models.Model):
user = models.ForeignKey(UserProfile, on_delete=models.CASCADE, verbose_name='用户')
name = models.CharField(max_length=100, verbose_name='用户课程名')
course = models.ForeignKey(Course, on_delete=models.CASCADE, verbose_name='课程')
add_time = models.DateTimeField(default=datetime.now, verbose_name='创建时间')
class Meta:
verbose_name = '用户课程'
verbose_name_plural = verbose_name
def __str__(self):
return self.name
创建好各个模块后,需要在settings中添加注册相应的模块,这样才可以进行数据的迁移。比laravel等的数据迁移代码量少很多啊。

添加operations模块的更多相关文章
- nginx添加 nginx_heath模块
原因?为什么会使用nginx_heath 这个模块,主要是如nginx+tomcat部署的时,tomcat挂了之后nginx->upstream 轮询是可以踢掉挂掉的tomcat服务的,如果部署 ...
- nginx 添加nginx-http-concat模块
github地址:https://github.com/alibaba/nginx-http-concat/tree/master 简单的描述一下吧,网上说的安装新的模块需要重新编译nginx,具体的 ...
- 嵌入式linux驱动开发之给linux系统添加温度传感器模块
忙了几天,终于可以让ds18b20在自己的开发板的linux系统上跑了!虽然ds18b20不是什么新鲜玩意,但是想想知己可以给linux系统添加模块了还是有点小鸡冻呢! 虽然说现在硬件的资源非常丰富而 ...
- 动态编译添加php模块
注意:转载请注明出处:http://www.programfish.com/blog/?p=85 在很多时候我们用linux里搭建web服务器的时候会需要编译安装php套件,而在编译安装后可能又会需要 ...
- httpd添加新模块
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- yum安装的Nginx添加第三方模块支持tcp
需求:生产有个接口是通过socket通信.nginx1.9开始支持tcp层的转发,通过stream实现的,而socket也是基于tcp通信. 实现方法:Centos7.2下yum直接安装的nginx, ...
- nginx 番外----添加第三方模块
#第三方模块需要先进行下载,然后再编译时指定文件目录 1.查看当前编译模块 root@nginx sbin]# ./nginx -V #查看当前添加模块 nginx version: nginx/ b ...
- yum安装下的nginx,如何添加模块,和添加第三方模块
需求:生产有个接口是通过socket通信.nginx1.9开始支持tcp层的转发,通过stream实现的,而socket也是基于tcp通信. 实现方法:Centos7.2下yum直接安装的nginx, ...
- 编译nginx平滑添加stream模块
1.操作背景 操作系统版本:CentOS Linux release (Core) nginx版本:1.13.4 nginx从1.9.0版本开始,新增了ngx_stream_core_module模块 ...
随机推荐
- win764位英文版系统unicode编码问题
出现的编码现象: 1.以*.vga格式的课件文件,当作好可读html之后,仍然不能播放,此时为Unicode编码所致: 2.在编辑TXT文档时,内容凡有中文,在保存时,会提示不能识别,当确认后,中文字 ...
- CSS Ul(列表样式)
CSS Ul(列表样式) CSS列表属性作用如下: 设置不同的列表项标记为有序列表 设置不同的列表项标记为无序列表 设置列表项标记为图像 一.列表 在HTML中,有两种类型的列表: 无序列表 - 列表 ...
- Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation
1.主要完成的任务是能够将英文转译为法文,使用了一个encoder-decoder模型,在encoder的RNN模型中是将序列转化为一个向量.在decoder中是将向量转化为输出序列,使用encode ...
- shell进阶教程
背景:就自己常用的shell脚本写作风格,总结了一些知识点.也是作为交接工作的一部分文档.部分内容单独写 #!/bin/sh # shell脚本进阶教程 # 1.常用知识点:变量设置/日期设置/格式化 ...
- 20145211《网络渗透》Adobe阅读器渗透攻击
20145211<网络渗透>Adobe阅读器渗透攻击 实验准备 1.用了一个kali,一个English Winxp3,并保证能相互ping通 2.开启显示隐藏文件 实验步骤: 1.开启m ...
- linux input输入子系统分析《四》:input子系统整体流程全面分析
1 input输入子系统整体流程 本节分析input子系统在内核中的实现,包括输入子系统(Input Core),事件处理层(Event Handler)和设备驱动层.由于上节代码讲解了设备 ...
- [Hdu6315]Naive Operations
题意:给定一个初始数组b和一个初始值全部为0的数组a,每次操作可以在给定的区间(l,r)内让a[i](l=<i<=r)加一,或者查询区间区间(l,r)中a[i]/b[i](l=<i& ...
- Centos7.5静默安装Oracle18c
环境: CentOS7.5.Oracle18c(LINUX.X64_180000_db_home.zip) 1. 安装必要的依赖包 [root@bogon ~]# yum install bc bin ...
- LeetCode——maximal-rectangle
Question Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing all ...
- JAVA小工具打包
D: cd D:\xxx\IPOSpider javac -d bin/ src/com/xxx/IPOSpider.java src/com/xxx/ConfigProperties.java -c ...