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使用Pickle库实现读写序列操作示例
Jun 15 Python
python实现猜数字小游戏
Mar 24 Python
Django开发中的日志输出的方法
Jul 02 Python
python机器学习之神经网络实现
Oct 13 Python
python:接口间数据传递与调用方法
Dec 17 Python
java判断三位数的实例讲解
Jun 10 Python
手机使用python操作图片文件(pydroid3)过程详解
Sep 25 Python
pytorch实现保证每次运行使用的随机数都相同
Feb 20 Python
python 装饰器功能与用法案例详解
Mar 06 Python
彻底搞懂python 迭代器和生成器
Sep 07 Python
Python实现迪杰斯特拉算法过程解析
Sep 18 Python
python数字转对应中文的方法总结
Aug 02 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
《心理测量者3》剧场版动画预告
2020/03/02 日漫
解析Ubuntu下crontab命令的用法
2013/06/24 PHP
Thinkphp实现自动验证和自动完成
2015/12/19 PHP
jQuery中对未来的元素绑定事件用bind、live or on
2014/04/17 Javascript
JavaScript获取伪元素(Pseudo-Element)属性的方法技巧
2015/03/13 Javascript
开启Javascript中apply、call、bind的用法之旅模式
2015/10/28 Javascript
解决JS组件bootstrap table分页实现过程中遇到的问题
2016/04/21 Javascript
配置nodejs环境的方法
2017/05/13 NodeJs
vue中实现滚动加载更多的示例
2017/11/08 Javascript
在react-router4中进行代码拆分的方法(基于webpack)
2018/03/08 Javascript
基于jquery实现左右上下移动效果
2018/05/02 jQuery
Vue2.0 v-for filter列表过滤功能的实现
2018/09/07 Javascript
js for终止循环 跳出多层循环
2018/10/04 Javascript
解决vue跨域axios异步通信问题
2019/04/17 Javascript
修改layui的后台模板的左侧导航栏可以伸缩的方法
2019/09/10 Javascript
vue中改变滚动条样式的方法
2020/03/03 Javascript
React冒泡和阻止冒泡的应用详解
2020/08/18 Javascript
[53:15]2018DOTA2亚洲邀请赛3月29日 小组赛A组 KG VS OG
2018/03/30 DOTA
python 实现插入排序算法
2012/06/05 Python
python将人民币转换大写的脚本代码
2013/02/10 Python
用python 制作图片转pdf工具
2015/01/30 Python
Python实现登录人人网并抓取新鲜事的方法
2015/05/11 Python
python下载文件记录黑名单的实现代码
2017/10/24 Python
python3.5 email实现发送邮件功能
2018/05/22 Python
Python实现aes加密解密多种方法解析
2020/05/15 Python
一款利用html5和css3实现的3D立方体旋转效果教程
2016/04/26 HTML / CSS
HTML5 本地存储 LocalStorage详解
2016/06/24 HTML / CSS
戴尔美国官网:Dell
2016/08/31 全球购物
UML设计模式笔试题
2014/06/07 面试题
中等生评语大全
2014/05/04 职场文书
学校先进集体事迹材料
2014/05/31 职场文书
公司授权委托书范本
2014/09/18 职场文书
学生穿着不得体检讨书
2014/10/12 职场文书
村主任当选感言
2015/08/01 职场文书
《静夜思》教学反思
2016/02/17 职场文书
学校2016年全国助残日活动总结
2016/04/01 职场文书