亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

drf 在viewsets中對象級別的權限控制方法為什么不執行?

class?IsLeaderAndOwnerPermission(permissions.BasePermission):
???def?has_object_permission(self,?request,?view,?obj):
??????print(request.user)
??????#?if?request.method?in?permissions.SAFE_METHODS:
??????#??return?True
??????'''判斷是否是管理者且管理自己及下屬'''
??????#?return?obj.user?==?request.user

只有has_permission(self,request,view)方法可以執行,但又怎么判斷操作的是自己所屬呢?

正在回答

1 回答

請注意,通用視圖將檢查適當的對象級別權限,但是,如果您要編寫自己的自定義視圖,則需要確保自己檢查對象級別權限。您可以通過self.check_object_permissions(request, obj)在擁有對象實例后從視圖中進行調用來實現。APIException如果任何對象級權限檢查失敗,則此調用將引發適當的調用,否則將簡單地返回。

還要注意,通用視圖將僅檢查對象級權限以獲取檢索單個模型實例的視圖。如果需要列表視圖的對象級過濾,則需要單獨過濾查詢集。有關更多詳細信息,請參見過濾文檔。


我明白了,但過濾依然 不懂,付費課程可以學到嗎?

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

drf 在viewsets中對象級別的權限控制方法為什么不執行?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號