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读取图片属性信息的实现方法
Sep 11 Python
python实现xlsx文件分析详解
Jan 02 Python
Python使用matplotlib绘图无法显示中文问题的解决方法
Mar 14 Python
详解Python中where()函数的用法
Mar 27 Python
解决pandas read_csv 读取中文列标题文件报错的问题
Jun 15 Python
Python使用pyodbc访问数据库操作方法详解
Jul 05 Python
django项目搭建与Session使用详解
Oct 10 Python
Python itertools.product方法代码实例
Mar 27 Python
python函数调用,循环,列表复制实例
May 03 Python
Pyhton模块和包相关知识总结
May 12 Python
Django migrate报错的解决方案
May 20 Python
解决IDEA翻译插件Translation报错更新TTK失败不能使用
Apr 24 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
2019十大人气国漫
2020/03/13 国漫
用php实现选择排序的解决方法
2013/05/04 PHP
php调用google接口生成二维码示例
2014/04/28 PHP
使用laravel的migrate创建数据表的方法
2019/09/30 PHP
根据出生日期自动取得星座的js代码
2010/07/20 Javascript
鼠标滚轴控制文本框值的JS代码
2013/11/19 Javascript
javascript手工制作悬浮菜单
2015/02/12 Javascript
让JavaScript中setTimeout支持链式操作的方法
2015/06/19 Javascript
JS简单实现城市二级联动选择插件的方法
2015/08/19 Javascript
javascript实现很浪漫的气泡冒出特效
2020/09/05 Javascript
拥有一个属于自己的javascript表单验证插件
2016/03/24 Javascript
jQuery针对input的class属性写了多个值情况下的选择方法
2016/06/03 Javascript
几种tab切换详解
2017/02/03 Javascript
bootstrap轮播图示例代码分享
2017/05/17 Javascript
nodejs项目windows下开机自启动的方法
2017/11/22 NodeJs
IE9 elementUI文件上传的问题解决
2018/10/17 Javascript
详解JQuery基础动画操作
2019/04/12 jQuery
js前端如何写一个精确的倒计时代码
2019/10/25 Javascript
js实现tab栏切换效果
2020/08/02 Javascript
typescript编写微信小程序创建项目的方法
2021/01/29 Javascript
跟老齐学Python之list和str比较
2014/09/20 Python
详解Python 序列化Serialize 和 反序列化Deserialize
2017/08/20 Python
Python数据结构之栈、队列的实现代码分享
2017/12/04 Python
浅谈Python中的私有变量
2018/02/28 Python
python查看模块,对象的函数方法
2018/10/16 Python
浅析Windows 嵌入python解释器的过程
2019/07/26 Python
python3中rank函数的用法
2019/11/27 Python
PyQt5中多线程模块QThread使用方法的实现
2020/01/31 Python
前端canvas动画如何转成mp4视频的方法
2019/06/17 HTML / CSS
Moda Italia荷兰:意大利男士服装
2019/08/31 全球购物
安全责任书
2015/01/29 职场文书
护士辞职信怎么写
2015/02/27 职场文书
2016春季幼儿园开学寄语
2015/12/03 职场文书
golang 比较浮点数的大小方式
2021/05/02 Golang
PostgreSQL解析URL的方法
2021/08/02 PostgreSQL
使用python创建股票的时间序列可视化分析
2022/03/03 Python