W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
默認情況下,Django 訪問關(guān)聯(lián)對象(即 ?choice.question
?)時使用 ?Model._base_manager
? 管理器類的實例,而不是關(guān)聯(lián)對象的 ?_default_manager
?。這是因為 Django 要檢索那些可能被默認管理器篩選掉(所以無法訪問)的關(guān)聯(lián)對象。
若基本管理器類 (?django.db.models.Manager
?) 無法滿足需求,你可以通過設(shè)置 ?Meta.base_manager_name
?告訴 Django 使用哪個類。
在關(guān)聯(lián)模型上執(zhí)行查詢時不會使用基礎(chǔ)管理器,或者當(dāng)訪問一對多或多對多關(guān)系。例如,來自教程的模型 ?Question
?有個 ?deleted
?字段,還有一個基礎(chǔ)管理器,用于過濾掉 ?deleted=True
? 的實例。由 ?Choice.objects.filter(question__name__startswith='What')
?返回的查詢結(jié)果集會包含關(guān)聯(lián)至已刪除的問題的選項。
get_queryset()
? 來過濾任何?rows
?。如果你這么做,Django 會返回不完整的結(jié)果。Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: