• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Django对models里的objects的使用详解

python 搞代码 4年前 (2022-01-07) 22次浏览 已收录 0个评论

今天小编就为大家分享一篇Django对models里的objects的使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

首先我们先熟悉下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<a style="color:transparent">来源gao($daima.com搞@代@#码网</a>() #  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的使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持gaodaima搞代码网

以上就是Django对models里的objects的使用详解的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Django对models里的objects的使用详解

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址