django中objects的調(diào)用方法?這個問題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!
公司主營業(yè)務(wù):成都做網(wǎng)站、網(wǎng)站設(shè)計、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)建站是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出潤州免費做網(wǎng)站回饋大家。
首先我們先熟悉下objects的大致概念.
object是模型屬性---用于模型對象和數(shù)據(jù)庫交互 .
objects = Manager() 是管理器類型的對象 ,是Model和數(shù)據(jù)庫進行查詢的接口.
objects : 管理器對象
是Manager類型的對象,定義在from django.db import models中
用于模型對象和數(shù)據(jù)庫交互
是默認(rèn)自動生成的屬性,但是可以自定義管理器對象
實例
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()
一旦自定義管理器對象,默認(rèn)的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是錯誤的刪除了.
感謝各位的閱讀!看完上述內(nèi)容,你們對django中objects的調(diào)用方法大概了解了嗎?希望文章內(nèi)容對大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。