新建app
进入Run manager.py Task,输入下边的命令:
startapp operation
并将新生成的文件夹拖入apps中。
operation的表结构
- UserAsk:用户咨询
- CourseComments:用户评论
- UserFavorite:用户收藏
- UserMessage:用户消息
- UserCourse:用户学习的课程
operation app models编写
UserAsk:用户咨询
在operation app中的models.py中添加如下代码:
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from datetime import datetime
from django.db import models
class UserAsk(models.Model):
name = models.CharField(max_length=20, verbose_name=u'姓名')
mobile = models.CharField(max_length=11, verbose_name=u'手机')
course_name = models.CharField(max_length=50, verbose_name=u'课程名称')
add_time = models.DateTimeField(default=datetime.now, verbose_name=u'添加时间')
class Meta:
verbose_name = u'用户咨询'
verbose_name_plural = verbose_name
CourseComments:用户评论
在models.py中追加如下代码:
from apps.users.models import UserProfile
from apps.courses.models import Course
class CourseComments(models.Model):
'''课程评论'''
user = models.ForeignKey(UserProfile, verbose_name=u'用户')
course = models.ForeignKey(Course, verbose_name=u'课程')
comment = models.CharField(max_length=200, verbose_name=u'评论')
add_time = models.DateTimeField(default=datetime.now, verbose_name=u'评论时间')
class Meta:
verbose_name = u'课程评论'
verbose_name_plural = verbose_name
UserFavorite:用户收藏
在models.py中追加如下代码:
class UserFavorite(models.Model):
user = models.ForeignKey(UserProfile, verbose_name=u'用户')
fav_id = models.IntegerField(default=0, verbose_name=u'数据id')
fav_type = models.IntegerField(choices=((1, u'课程'), (2, u'课程机构'), (3, u'课程讲师')), default=1, verbose_name=u'收藏类型')
add_time = models.DateTimeField(default=datetime.now, verbose_name=u'收藏时间')
class Meta:
verbose_name = u'用户收藏'
verbose_name_plural = verbose_name
UserMessage:用户消息
在models.py中追加如下代码:
class UserMessage(models.Model):
'''user=0表示发给全员的消息,其余情况表示发给指定的id用户'''
user = models.IntegerField(default=0, verbose_name=u'接收用户')
message = models.CharField(max_length=500, verbose_name=u'消息内容')
has_read = models.BooleanField(default=False, verbose_name=u'是否已读')
add_time = models.DateTimeField(default=datetime.now, verbose_name=u'发送时间')
class Meta:
verbose_name = u'用户消息'
verbose_name_plural = verbose_name
has_read 表示用户消息是否已读,采用BooleanField类型,False表示未读
UserCourse:用户学习的课程
在models.py中追加如下代码:
class UserCourse(models.Model):
'''用户学习课程'''
user = models.ForeignKey(UserProfile, verbose_name=u'用户')
course = models.ForeignKey(Course, verbose_name=u'课程')
add_time = models.DateTimeField(default=datetime.now, verbose_name=u'添加时间')
class Meta:
verbose_name = u'用户课程'
verbose_name_plural = verbose_name
在setting.py中注册app
将先前创建的四个app注册到setting.py中:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'apps.users',
'apps.courses',
'apps.operation',
'apps.organization',
]