Django4.0 管理器-默認(rèn)管理器

2022-03-16 18:04 更新

Model._default_manager

若你使用自定義 ?Manager ?對(duì)象,注意 Django 遇到的第一個(gè) ?Manager ?(按照你在模型中定義的順序)會(huì)擁有一個(gè)獨(dú)特的狀態(tài)。Django 將類定義中的第一個(gè) ?Manager ?視作 “默認(rèn)” ?Manager?,Django 的幾個(gè)組件(包括 ?dumpdata?)在用到該模型時(shí)會(huì)獨(dú)立地調(diào)用該 ?Manager?。故此,選擇默認(rèn)管理器時(shí)要萬(wàn)分小心,避免遇到重寫的 ?get_queryset()? 無(wú)法獲取期望的結(jié)果這種情況。

你可以通過(guò) ?Meta.default_manager_name? 指定一個(gè)自定義的默認(rèn)管理器。

若你正在編寫的代碼必須處理未知模型,例如,在實(shí)現(xiàn)了通用視圖的第三方應(yīng)用中使用這個(gè)管理器(或 ?_base_manager?),而不是假定該模型有一個(gè)名為 ?objects ?的管理器。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)