Django中models.py(添加管理类模型)
2017-10-12 12:02
423 查看
1.models.py中写入管理类模型 # 为了方便文章的倒序功能,比如按添加的时间、点赞数、评论数、收藏数 class ArticleManager(models.Manager): # 按照点赞数排序 def query_by_polls(self): # get_queryset():Manager提供的内置方法,负责查询某一个模型中的所有结果 query = self.get_queryset().order_by('-poll_num') return query # 按照时间排序 def query_by_time(self): query = self.get_queryset().order_by('-pub_date') return query # 按照关键字查询 def query_by_keyword(self, keyword): # title_contains:标题中函数的关键字 query = self.get_queryset().filter(title_contains=keyword) return query # 按照文章的分类查询 def query_by_column(self, column_id): query = self.get_queryset().filter(column_id=column_id) return query # 按照用户查询用户相关的文章 def query_by_user(self, user_id): # 根据user_id找出用户 user = NewUser.objects.get(id=user_id) # 再根据用户和文章之间对应的关系,查处该用户关联的文章 article_list = user.article_set.all() return article_list 2.modelS.py中,在文章模型中创建管理类模型对象objects
# 文章的模型 @python_2_unicode_compatible class Article(models.Model): # 设置Article模型和Articlemanager管理器之间的绑定关系 # 相当于自定义了Article.objects.all()中的objects对象 objects = ArticleManager() 3.views.py中写入
# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.shortcuts import render from models import Article,Column,Comment,Auther,NewUser from forms import LoginForm # Create your views here. # 项目分析: # 1.后台admin模块,需要后台管理的内容有:文章、分类、作者、评论、自定义的user用户; # 2.登录和注册模块; # 3.前端页面的数据展示和路由的配置; # 项目和功能分析 # 1.文章的呈现:包括文章的标题、内容、作者、评论、点赞、收藏 # 2.用户的信息:昵称、邮箱、密码、简介;和用户相关的还有用户收藏的文章、点赞的文章、评论的文章 # 3.用户在收藏、点赞时,只能允许操作一次,评论可以多次;实现收藏点赞一次,需要知道哪篇文章和用户之间的对应关系(用户是否已经点赞,是否已经收藏) # 4.设计数据模型的时候,需要让用户和文章产生多对多的关系 # 5.用户在进行点赞、收藏、评论时,必须先处于登录状态,如果没有登录,自动跳转到登录页面进行登录 # 访问文章首页的index的视图函数 def index(request): # 查询所有文章 latest_article_list = Article.objects.query_by_time() # 登录表单 loginform = LoginForm() # 需要把文章列表,表单输入部分传递给index.html进行加载 context = {'latest_article_list':latest_article_list,'loginform':loginform} return render(request,'index.html',context)
相关文章推荐
- django中向models.py添加新字段
- models.py---Django中的数据库模型
- 第三百七十四节,Django+Xadmin打造上线标准的在线教育平台—创建课程app,在models.py文件生成4张表,课程表、课程章节表、课程视频表、课程资源表
- Django1.6中models模型关联的方法整理
- 详解python如何在django中为用户模型添加自定义权限
- [py][mx]django城市-教学机构-教师模型设计
- 第三百零七节,Django框架,models.py模块,数据库操作——表类容的增删改查
- [py][mx]django添加后台课程机构页数据-图片上传设置
- 第四章:Django模型——添加 Event发布会的表 报错
- python-Django models.py新建的表如何同步到数据路(八)
- django models 模型 从入门到进阶
- 基于 Django1.10 文档的深入学习(4)—— models.py 之 class Meta
- pd的django To do list教程-----(2)models模型的建立
- Django中,模型(models),视图(views)和模板的区别和应用
- 第四章:Django模型——在 admin 后台管理页面上面添加 Event 发布会名称
- 第三百七十三节,Django+Xadmin打造上线标准的在线教育平台—创建用户app,在models.py文件生成3张表,用户表、验证码表、轮播图表
- Django中反向生成models.py的实例讲解
- 第三百七十五节,Django+Xadmin打造上线标准的在线教育平台—创建课程机构app,在models.py文件生成3张表,城市表、课程机构表、讲师表
- 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(9)——Course models.py的设计
- Import error on django models.py