29、DRF_自定义模糊查询/过滤器

2020-07-25  本文已影响0人  猪儿打滚
INSTALLED_APPS = [
    'django_filters',
]
REST_FRAMEWORK = {
    # drf过滤器
    'DEFAULT_FILTER_BACKENDS': ('django_filters.rest_framework.DjangoFilterBackend',)
}
import django_filters
from django_filters.rest_framework import FilterSet

from interfaces.models import Interfaces

class NameLikeFilter(FilterSet):
    """根据name字段的过滤器"""
    name = django_filters.CharFilter(field_name='name', lookup_expr="icontains")  # icontains 包含,忽略大小写

    class Meta:
        model = Interfaces  # 关联的模型
        fields = ['name']  # 过滤的字段
    # 自定义name过滤器
    filterset_class = NameLikeFilter 

    # 设置过滤字段  (查询字段)
    filter_fields = ['name']
    # filterset_fields = ['name']
上一篇下一篇

猜你喜欢

热点阅读