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解析XML的四种方式
Mar 30 Python
常见python正则用法的简单实例
Jun 21 Python
基于python的Tkinter编写登陆注册界面
Jun 30 Python
Pycharm之快速定位到某行快捷键的方法
Jan 20 Python
利用python实现冒泡排序算法实例代码
Dec 01 Python
Anconda环境下Vscode安装Python的方法详解
Mar 29 Python
使用matplotlib动态刷新指定曲线实例
Apr 23 Python
python多线程实现同时执行两个while循环的操作
May 02 Python
解决Python3.8运行tornado项目报NotImplementedError错误
Sep 02 Python
Python tkinter制作单机五子棋游戏
Sep 14 Python
详解python实现可视化的MD5、sha256哈希加密小工具
Sep 14 Python
python编程简单几行代码实现视频转换Gif示例
Oct 05 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
session 的生命周期是多长
2006/10/09 PHP
对象失去焦点时自己动提交数据的实现代码
2012/11/06 PHP
Thinkphp模板中截取字符串函数简介
2014/06/17 PHP
微信公众平台之快递查询功能用法实例
2015/04/14 PHP
分享一个漂亮的php验证码类
2016/09/29 PHP
PHP strripos函数用法总结
2019/02/11 PHP
js刷新框架子页面的七种方法代码
2008/11/20 Javascript
javascript 在firebug调试时用console.log的方法
2012/05/10 Javascript
javascript的console.log()用法小结
2012/05/31 Javascript
Javascript中匿名函数的多种调用方式总结
2013/12/06 Javascript
Javascript中Array.prototype.map()详解
2014/10/22 Javascript
Angular中$compile源码分析
2016/01/28 Javascript
jQuery实现链接的title快速出现的方法
2017/02/20 Javascript
浅谈Express异步进化史
2017/09/09 Javascript
Vue三层嵌套路由的示例代码
2018/05/05 Javascript
AjaxFileUpload.js实现异步上传文件功能
2019/04/19 Javascript
ES6中Promise的使用方法实例总结
2020/02/18 Javascript
vue项目在webpack2实现移动端字体自适配功能
2020/06/02 Javascript
Vue 禁用浏览器的前进后退操作
2020/09/04 Javascript
详解vue之自行实现派发与广播(dispatch与broadcast)
2021/01/19 Vue.js
Django使用详解:ORM 的反向查找(related_name)
2018/05/30 Python
python 常用的基础函数
2018/07/10 Python
Python设计模式之适配器模式原理与用法详解
2019/01/15 Python
python使用Paramiko模块实现远程文件拷贝
2019/04/30 Python
Django自定义列表 models字段显示方式
2020/04/03 Python
利用python+request通过接口实现人员通行记录上传功能
2021/01/13 Python
用Python实现定时备份Mongodb数据并上传到FTP服务器
2021/01/27 Python
HTML5中meta属性的使用方法
2016/02/29 HTML / CSS
德国家具在线:Fashion For Home
2017/03/11 全球购物
Currentbody法国:健康与美容高科技产品
2020/08/16 全球购物
介绍一下代理模式(Proxy)
2014/10/17 面试题
小学校园活动策划
2014/01/30 职场文书
《石榴》教学反思
2014/03/02 职场文书
最感人的道歉情书
2015/05/12 职场文书
交通肇事罪辩护词
2015/05/21 职场文书
2015年医院保卫科工作总结
2015/07/23 职场文书