首页 > 其他分享 >djnago-filter用法

djnago-filter用法

时间:2022-08-13 19:01:28浏览次数:91  
标签:djnago name rs price 用法 filter filters class

django-filter用法

集成drf

自定义filter文件内

from django_filters import rest_framework as rs_filters
from .models import *


class TestFilter(rs_filters.FilterSet):
    title = rs_filters.CharFilter(lookup_expr='icontains') # 不指定field_name默认用变量名去对应字段
    # title_name = rs_filters.CharFilter(lookup_expr='icontains', field_name='title')
    max_price = rs_filters.NumberFilter(field_name='price', lookup_expr='lte')
    min_price = rs_filters.NumberFilter(field_name='price', lookup_expr='gte')

    class Meta:
        model = Book
        fields = ['title', 'price']

在view.py内

from django_filters.rest_framework import DjangoFilterBackend
from .filter import TestFilter

class BookAPIView(ListAPIView):
    queryset = Book.objects
    serializer_class = BookSerializer
    filter_backends = [DjangoFilterBackend] # 必须用加DjangoFilterBackend或其子类
    filterset_class = TestFilter # 把自定义的过滤加上

image

标签:djnago,name,rs,price,用法,filter,filters,class
From: https://www.cnblogs.com/zonghan/p/16583800.html

相关文章

  • Java反射原理和实际用法
    背景反射在Java中非常重要,是Java区别于其他编程语言的一大特性。Java中的AOP切面、动态代理等看起来像黑魔法一样的技术,就离不开反射、字节码等。这些技术能在不侵入原有......
  • vue学习之------过滤器Filters
    注:Vue3中已废弃filter过滤器常用于文本的格式化例如:helloworld>>Hello World过滤器可以用在两个地方:{{插值表达式}}和v-bind属性绑定 过滤器定义: ......
  • 9.Matplotlib subplot()函数用法详解
    在使用Matplotlib绘图时,我们大多数情况下,需要将一张画布划分为若干个子区域,之后,我们就可以在这些区域上绘制不用的图形。在本节,我们将学习如何在同一画布上绘制多个子图......
  • flutter 常见组件的特殊用法 —— AppBar
    AppBar的高度与PreferredSizeWidget通常可以观察到Scaffold.appBar与AppBar.bottom属性,要求其值必须是PreferredSizeWidget(典型的是AppBar与TabBar组件)。abst......