亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

django rest framework使用django-filter用法

瀏覽:95日期:2024-09-26 09:56:11

django rest framework使用django-filter注意事項:

一定要在setting文件里面加載如下代碼,而不是只安裝包,否則django應用不報錯,但是不能正確過濾。

“`INSTALLED_APPS = [‘django_filters’]REST_FRAMEWORK = {‘DEFAULT_FILTER_BACKENDS’: ( ‘django_filters.rest_framework.DjangoFilterBackend’,),}

補充知識:rest_framework--filters和django-filters混合使用-過濾搜索

view

from rest_framework.pagination import PageNumberPaginationfrom rest_framework import mixinsfrom rest_framework import viewsetsfrom rest_framework import filtersfrom django_filters.rest_framework import DjangoFilterBackendfrom .models import Goodsfrom .serializers import GoodsSerializer# 導入過濾器類from .filters import GoodsFilterclass GoodsPagination(PageNumberPagination): page_size = 10 page_size_query_param = 'page_size' page_query_param = 'p' max_page_size = 100class GoodsListViewSet(mixins.ListModelMixin, viewsets.GenericViewSet): # 指定queryset queryset = Goods.objects.all() # 指定序列化類 serializer_class = GoodsSerializer # 指定分頁類 pagination_class = GoodsPagination # 添加過濾器 這里可以吧django-filter過濾器添加進來 和 rest_framework的filters添加進來一起用, 也可以單個用, 看你的需求 filter_backends = [DjangoFilterBackend, filters.SearchFilter] # 只需要簡單的基于等同的過濾,則可以filter_fields在視圖或視圖集上設置屬性,列出要過濾的字段集。 # 等同就是根據你過濾的字段的數據必須跟數據庫里那個字段的數據相同 # filter_fields = [’name’, ’shop_price’] # 指定過濾器類 filter_class = GoodsFilter search_fields = [’name’, ’goods_brief’, 'goods_desc']

過濾器類?根據自己需求定義

import django_filtersfrom .models import Goodsclass GoodsFilter(django_filters.rest_framework.FilterSet): ''' 商品的過濾類 ''' # 大于這個值 name指定字段 lookup_expr過濾條件 # NumberFilter 數字類型 price_min = django_filters.NumberFilter(name='shop_price', lookup_expr='gte') # 小于這個值 price_max = django_filters.NumberFilter(name='shop_price', lookup_expr='lte') # name模糊查詢, 不指定過濾條件, 必須全部匹配 # CharFilter字符串類型 name = django_filters.CharFilter(name='name', lookup_expr='icontains') class Meta: # 指定模型類 model = Goods # 顯示這兩個字段 fields = ['price_min', 'price_max', 'name']

settings

INSTALLED_APPS = [ # drf過濾器 也 是xadmin的過濾器 ’django_filters’, ’rest_framework’,]

url

from django.conf.urls import url, includefrom rest_framework.routers import DefaultRouterfrom goods.views import GoodsListViewSet# 生成一個注冊器實例對象router = DefaultRouter()# 將需要自動生成url的接口注冊# 配置goods的urlrouter.register(r’goods’, GoodsListViewSet, base_name='goods-list')urlpatterns = [ # 自動生成url url(r'^', include(router.urls)),]

效果圖

django rest framework使用django-filter用法

以上這篇django rest framework使用django-filter用法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Django
相關文章:
主站蜘蛛池模板: 成年女人视频在线观看免费 | 色综合久久亚洲国产日韩 | 国产99久9在线视频 国产99久久精品 | 久久夜色精品国产 | 99视频在线看观免费 | 91精品日本久久久久久牛牛 | 六月婷婷在线视频 | 国产一区二区三区在线观看免费 | 国产黄色毛片 | 色婷婷狠狠 | 国产产一区二区三区久久毛片国语 | 麻豆网站视频国产在线观看 | 成年视频xxxxx免费播放软件 | 好男人在线影院www 好看的一级毛片 | 欧美一级特黄一片免费 | 亚洲色大成网站www久久九九 | 久久青草免费91观看 | 国产床上视频 | 欧美 日产 国产精品 | 91www在线观看 | 日韩亚州 | 亚洲综合欧美日韩 | 91小视频在线观看免费版高清 | 麻豆网站在线播放 | 日韩色视频一区二区三区亚洲 | 国产精品午夜在线观看 | 在线免费视频你懂的 | 亚洲精品影院一区二区 | 国产精品久久久久久久久久久久久久 | 国产精品欧美一区二区在线看 | 久久夜色精品国产尤物 | 亚洲国产精品自产拍在线播放 | 达达兔欧美午夜国产亚洲 | 黄视频在线观看www免费 | 国产1024一区二区你懂的 | 免费看三级黄色片 | 成人午夜国产福到在线不卡 | 国产一级二级三级视频 | 香蕉一区二区三区观 | 慈禧级淫片a级中文在线 | 欧美黑人白人bbw |