2
我想序列化對象級權限 - 併發送一個簡單的True
或False
到瀏覽器 - 因此我觸發「允許編輯」代碼。Django Rest Framework序列化權限
我正在這樣做,所以用戶沒有向他們展示他們無法使用的功能。
有沒有內置的方法來做到這一點?文件不提到這一點。
我試圖在串行如下:
has_permission = serializers.SerializerMethodField('check_permission')
def check_permission(self, obj):
return self.check_object_permissions(self.request, obj)
但串行沒有方法check_object_permissions
- 屬於權限對象。
或者,如果你需要知道的用戶,使用串行方法並通過序列化器上下文訪問當前用戶。 – paulmelnikow
這會中斷分層:我必須將rest_framework.permissions導入到models.py中,除非我使用奇怪的意大利麪條,那麼我將無法對不同視圖上的相同模型使用不同的權限 – rikAtee
要保持分層,可以使用Django用戶驗證並覆蓋視圖上的permission_denied方法。 – HungryArthur