Django对models里的objects的使用详解


Posted in Python onAugust 17, 2019

首先我们先熟悉下objects的大致概念.

object是模型属性---用于模型对象和数据库交互 .

objects = Manager() 是管理器类型的对象 ,是Model和数据库进行查询的接口.

objects : 管理器对象

是Manager类型的对象,定义在from django.db import models中

用于模型对象和数据库交互

是默认自动生成的属性,但是可以自定义管理器对象

实例:

class Students(models.Model):

  #  stuobj  = models.Manager()  #第一种重新定义objects,objects是Manager()的对象
  #  students.objects.all() 变成了 Students.stuObj.all()
  #  stuobj2 = studentManager() 重新定义objects,查询变成Students.stuObj2.all()
  sname  = models.CharField(max_length=20)
  sgender = models.CharField(max_length=20)
  sage   = models.IntegerField()
  scontend = models.CharField(max_length=100,null=True,blank=True)

自原本的我们的objects=models.Manager(),查询类的属性时都是. 类名.objects.方法

Students.objects.all() 查询完之后返回一个queryset()

定义管理器对象:例如stuobj = models.Manager()

一旦自定义管理器对象,默认的objects 就不再自动生成,查询时就变成了

Students.stuobj.all()

查询时某些字段我们并不想要.这时候我们就可以自定义objects.

class studentManager(models.Manager):
  def get_queryset(self):
    return super(studentManager,self).get_queryset().filter(isDelete=False)

我们定义一个自定义的manager(),继承models.manager.

后面的我们把isDelete是错误的,就如上面自己定义的,下面

stuobj2 = studentManager()

Students.stuobj2.all()就把isDelete是错误的删除了.

以上这篇Django对models里的objects的使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现的十进制小数与二进制小数相互转换功能
Oct 12 Python
python爬虫使用cookie登录详解
Dec 27 Python
python图书管理系统
Apr 05 Python
Python使用win32com模块实现数据库表结构自动生成word表格的方法
Jul 17 Python
Python内置方法实现字符串的秘钥加解密(推荐)
Dec 09 Python
Python语言异常处理测试过程解析
Jan 08 Python
Python字符串中删除特定字符的方法
Jan 15 Python
Python+kivy BoxLayout布局示例代码详解
Dec 28 Python
python学习之panda数据分析核心支持库
May 07 Python
Python绘制地图神器folium的新人入门指南
May 23 Python
python单元测试之pytest的使用
Jun 07 Python
7个关于Python的经典基础案例
Nov 07 Python
python3.6中@property装饰器的使用方法示例
Aug 17 #Python
对django的User模型和四种扩展/重写方法小结
Aug 17 #Python
python3.6编写的单元测试示例
Aug 17 #Python
python3 实现的对象与json相互转换操作示例
Aug 17 #Python
python3实现的zip格式压缩文件夹操作示例
Aug 17 #Python
django 通过url实现简单的权限控制的例子
Aug 16 #Python
对Django中内置的User模型实例详解
Aug 16 #Python
You might like
解析php mysql 事务处理回滚操作(附实例)
2013/08/05 PHP
如何利用http协议发布博客园博文评论
2015/08/03 PHP
ThinkPHP数据操作方法总结
2015/09/28 PHP
PHP中使用array函数新建一个数组
2015/11/19 PHP
PHP 7.0新增加的特性介绍
2017/06/08 PHP
PHP 的Opcache加速的使用方法
2017/12/29 PHP
JavaScript 基础问答三
2008/12/03 Javascript
Javascript this 的一些学习总结
2012/08/31 Javascript
JavaScript中的数学运算介绍
2014/12/29 Javascript
由简入繁实现Jquery树状结构的方法(推荐)
2016/06/10 Javascript
利用JS判断鼠标移入元素的方向
2016/12/11 Javascript
js尾调用优化的实现
2019/05/23 Javascript
vue配置nprogress实现页面顶部进度条
2019/09/21 Javascript
node爬取新型冠状病毒的疫情实时动态
2020/02/06 Javascript
解决vue加scoped后就无法修改vant的UI组件的样式问题
2020/09/07 Javascript
解决vue项目运行npm run serve报错的问题
2020/10/26 Javascript
微信小程序实现自定义动画弹框/提示框的方法实例
2020/11/06 Javascript
Node快速切换版本、版本回退(降级)、版本更新(升级)
2021/01/07 Javascript
利用Python暴力破解zip文件口令的方法详解
2017/12/21 Python
使用C++扩展Python的功能详解
2018/01/12 Python
使用matplotlib中scatter方法画散点图
2019/03/19 Python
python 字典的打印实现
2019/09/26 Python
python 遗传算法求函数极值的实现代码
2020/02/11 Python
keras多显卡训练方式
2020/06/10 Python
html5 标签
2009/07/16 HTML / CSS
俄罗斯在线手表和珠宝商店:AllTime
2019/09/28 全球购物
NYX Professional Makeup英国官网:美国平价专业彩妆品牌
2019/11/13 全球购物
运动会加油稿100字
2014/09/19 职场文书
领导班子四风查摆对照检查材料思想汇报
2014/10/05 职场文书
乱丢垃圾袋检讨书
2014/10/08 职场文书
自我检讨书范文
2015/01/28 职场文书
学校食品安全责任书
2015/01/29 职场文书
项目建议书
2015/02/04 职场文书
雷锋电影观后感
2015/06/10 职场文书
人与自然的观后感
2015/06/18 职场文书
2016大学生就业指导课心得体会
2016/01/15 职场文书