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

2022-03-16 18:04 更新

Model._default_manager

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

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

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


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號