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统计文件行数示例分享
Feb 21 Python
使用Python操作Elasticsearch数据索引的教程
Apr 08 Python
Python信息抽取之乱码解决办法
Jun 29 Python
用python制作游戏外挂
Jan 04 Python
pyqt5 使用cv2 显示图片,摄像头的实例
Jun 27 Python
详解python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'如何解决
Aug 27 Python
python实现H2O中的随机森林算法介绍及其项目实战
Aug 29 Python
pymysql模块的使用(增删改查)详解
Sep 09 Python
tensorflow保持每次训练结果一致的简单实现
Feb 17 Python
python except异常处理之后不退出,解决异常继续执行的实现
Apr 25 Python
利用scikitlearn画ROC曲线实例
Jul 02 Python
如何利用python实现列表嵌套字典取值
Jun 10 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 sprintf() 函数的应用(定义和用法)
2012/06/29 PHP
将博客园(cnblogs.com)数据导入到wordpress的代码
2013/01/06 PHP
php文件夹与文件目录操作函数介绍
2013/09/09 PHP
ECMall支持SSL连接邮件服务器的配置方法详解
2014/05/19 PHP
VPS中使用LNMP安装WordPress教程
2014/12/28 PHP
简单PHP会话(session)说明介绍
2016/08/21 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
2017/11/10 PHP
PHP7 mongoDB扩展使用的方法分享
2019/05/02 PHP
用jscript启动sqlserver
2007/06/21 Javascript
不要小看注释掉的JS 引起的安全问题
2008/12/27 Javascript
优化 JavaScript 代码的方法小结
2009/07/16 Javascript
Javascript 中 null、NaN和undefined的区别总结
2013/04/10 Javascript
读取input:file的路径并显示本地图片的方法
2013/09/23 Javascript
jquery easyui中treegrid用法的简单实例
2014/02/18 Javascript
一个JavaScript函数把URL参数解析成Json对象
2014/09/24 Javascript
基于jQuery滑动杆实现购买日期选择效果
2015/09/15 Javascript
javascript url几种编码方式详解
2016/06/06 Javascript
jQuery Password Validation密码验证
2016/12/30 Javascript
jQuery弹出窗口简单实现代码
2017/03/09 Javascript
SpringMVC简单整合Angular2的示例
2017/07/31 Javascript
在小程序开发中使用npm的方法
2018/10/17 Javascript
Vue render函数实战之实现tabs选项卡组件
2019/04/22 Javascript
详解js根据百度地图提供经纬度计算两点距离
2019/05/13 Javascript
JS实现点星星消除小游戏
2020/03/24 Javascript
vue+vant使用图片预览功能ImagePreview的问题解决
2020/04/10 Javascript
[05:09]第二届DOTA2亚洲邀请赛决赛日比赛集锦:iG 3:0 OG夺冠
2017/04/05 DOTA
简介Python中用于处理字符串的center()方法
2015/05/18 Python
Python线程指南详细介绍
2017/01/05 Python
python正则表达式的使用
2017/06/12 Python
Python编程之黑板上排列组合,你舍得解开吗
2017/10/30 Python
python使用json序列化datetime类型实例解析
2018/02/11 Python
3分钟看懂Python后端必须知道的Django的信号机制
2020/07/26 Python
基于Python 函数和方法的区别说明
2021/03/24 Python
城管大队整治方案
2014/05/06 职场文书
让文件路径提取变得更简单的Python Path库
2021/05/27 Python
新手入门Jvm-- JVM对象创建与内存分配机制
2021/06/18 Java/Android