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的列表中利用remove()方法删除元素的教程
May 21 Python
python 网络编程详解及简单实例
Apr 25 Python
python中 chr unichr ord函数的实例详解
Aug 06 Python
Python 将pdf转成图片的方法
Apr 23 Python
python实现守护进程、守护线程、守护非守护并行
May 05 Python
python爬虫之自动登录与验证码识别
Jun 15 Python
解决Python3 抓取微信账单信息问题
Jul 19 Python
Flask框架学习笔记之路由和反向路由详解【图文与实例】
Aug 12 Python
Python socket实现的文件下载器功能示例
Nov 15 Python
Python实现数值积分方式
Nov 20 Python
python 绘制场景热力图的示例
Sep 23 Python
python实现企业微信定时发送文本消息的实例代码
Nov 25 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中使用foreach和引用导致程序BUG的问题介绍
2012/09/05 PHP
laravel 5 实现模板主题功能(续)
2015/03/02 PHP
PHP内核探索之解释器的执行过程
2015/12/22 PHP
php实现的debug log日志操作类实例
2016/07/12 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
2017/09/22 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
2020/02/27 PHP
jquery Mobile入门—外部链接切换示例代码
2013/01/08 Javascript
jquery多选项卡效果实例代码(附效果图)
2013/03/23 Javascript
JS获取select的value和text值的简单实例
2014/02/26 Javascript
jquery设置按钮停顿3秒不可用
2014/03/07 Javascript
jQuery添加/改变/移除CSS类及判断是否已经存在CSS
2014/08/20 Javascript
整理Javascript流程控制语句学习笔记
2015/11/29 Javascript
基于Jquery和html5实现炫酷的3D焦点图动画
2016/03/02 Javascript
基于JavaScript实现的快速排序算法分析
2017/04/14 Javascript
jQuery+css last-child实现选择最后一个子元素操作示例
2018/12/10 jQuery
vue 引用自定义ttf、otf、在线字体的方法
2019/05/09 Javascript
Vue.js 中的实用工具方法【推荐】
2019/07/04 Javascript
jQuery实现回到顶部效果
2020/10/19 jQuery
Vue+Element-U实现分页显示效果
2020/11/15 Javascript
[01:05:52]DOTA2-DPC中国联赛 正赛 Ehome vs Aster BO3 第一场 2月2日
2021/03/11 DOTA
基于python 字符编码的理解
2017/09/02 Python
Python数据结构与算法之图的广度优先与深度优先搜索算法示例
2017/12/14 Python
Python+tkinter使用40行代码实现计算器功能
2018/01/30 Python
Python简单生成随机数的方法示例
2018/03/31 Python
PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形
2019/05/13 Python
重构Python代码的六个实例
2020/11/25 Python
全球烹饪课程的领先预订平台:Cookly
2020/01/28 全球购物
PHP如何调用MYSQL存储过程
2014/05/30 面试题
软件测试常见笔试题
2012/02/04 面试题
学历公证书范本
2014/04/09 职场文书
娱乐节目策划方案
2014/06/10 职场文书
小学生五年级大队长竞选发言稿
2014/09/12 职场文书
2014年纠风工作总结
2014/12/08 职场文书
公司财务人员岗位职责
2015/04/14 职场文书
信息技术教研组工作总结
2015/08/13 职场文书
干货!开幕词的写作方法
2019/04/02 职场文书