2022-12-10 15:24阅读: 52评论: 0推荐: 0

drf 自带BaseFilterBackend

过滤器

常用于数据筛选,如只查单个user下的东西

from rest_framework.filters import BaseFilterBackend

class MineFilterBackend(BaseFilterBackend):
    FILED="id"
    def filter_queryset(self, request, queryset, view):
        user_id = request.user['id']
        return queryset.filter(**{self.FILED:user_id})
		
#用type继承类
type("MineBackend",(MineFilterBackend,),{"FILED":"xxx_id"})

使用

class UserInfoView(mixin.RetrieveModelMixin, GenericViewSet):
    filter_backends = [MineFilterBackend]
    queryset = models.UserInfo.objects.all()
    serializer_class = account.UserInfoSerializer

本文作者:Sherwin

本文链接:https://www.cnblogs.com/sherwin1995/p/16971645.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Sherwin_szw  阅读(52)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
  1. 1 404 not found REOL
404 not found - REOL
00:00 / 00:00
An audio error has occurred.