Django對(duì)models里的objects的使用詳解
首先我們先熟悉下objects的大致概念.
object是模型屬性---用于模型對(duì)象和數(shù)據(jù)庫交互 .
objects = Manager() 是管理器類型的對(duì)象 ,是Model和數(shù)據(jù)庫進(jìn)行查詢的接口.
objects : 管理器對(duì)象
是Manager類型的對(duì)象,定義在from django.db import models中
用于模型對(duì)象和數(shù)據(jù)庫交互
是默認(rèn)自動(dòng)生成的屬性,但是可以自定義管理器對(duì)象
實(shí)例:
class Students(models.Model): # stuobj = models.Manager() #第一種重新定義objects,objects是Manager()的對(duì)象 # 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(),查詢類的屬性時(shí)都是. 類名.objects.方法
Students.objects.all() 查詢完之后返回一個(gè)queryset()
定義管理器對(duì)象:例如stuobj = models.Manager()
一旦自定義管理器對(duì)象,默認(rèn)的objects 就不再自動(dòng)生成,查詢時(shí)就變成了
Students.stuobj.all()
查詢時(shí)某些字段我們并不想要.這時(shí)候我們就可以自定義objects.
class studentManager(models.Manager):
def get_queryset(self):
return super(studentManager,self).get_queryset().filter(isDelete=False)
我們定義一個(gè)自定義的manager(),繼承models.manager.
后面的我們把isDelete是錯(cuò)誤的,就如上面自己定義的,下面
stuobj2 = studentManager()
Students.stuobj2.all()就把isDelete是錯(cuò)誤的刪除了.
以上這篇Django對(duì)models里的objects的使用詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Linux下使用python調(diào)用top命令獲得CPU利用率
這篇文章主要介紹了Linux下使用python調(diào)用top命令獲得CPU利用率,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-03-03
keras 多任務(wù)多l(xiāng)oss實(shí)例
這篇文章主要介紹了keras 多任務(wù)多l(xiāng)oss實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06
Python使用wget實(shí)現(xiàn)下載網(wǎng)絡(luò)文件功能示例
這篇文章主要介紹了Python使用wget實(shí)現(xiàn)下載網(wǎng)絡(luò)文件功能,簡(jiǎn)單介紹了wget安裝以及Python使用wget下載tar格式網(wǎng)絡(luò)文件并進(jìn)行解壓處理相關(guān)操作技巧,需要的朋友可以參考下2018-05-05
將Django使用的數(shù)據(jù)庫從MySQL遷移到PostgreSQL的教程
這篇文章主要介紹了將Django使用的數(shù)據(jù)庫從MySQL遷移到PostgreSQL的教程,同時(shí)提到了一些注意事項(xiàng),需要的朋友可以參考下2015-04-04
python查看某個(gè)包的當(dāng)前安裝版本及最新版本的五種方法
這篇文章主要介紹了5種查看Python包最新版本的方法,包括使用pip的--outdated參數(shù)、pipsearch命令(已被棄用)、pipindexversions命令、pypi-simple工具和在Python腳本中使用pip,需要的朋友可以參考下2025-01-01
python實(shí)現(xiàn)的解析crontab配置文件代碼
這篇文章主要介紹了python實(shí)現(xiàn)的解析crontab配置文件代碼,也可以說是python版的crontab,代碼中包含大量注釋,需要的朋友可以參考下2014-06-06
python用selenium打開chrome瀏覽器保持登錄方式
大家好,本篇文章主要講的是python用selenium打開chrome瀏覽器保持登錄方式,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下2022-02-02

