與DRF整合自定義fliter

2021-10-06 03:05:37 字數 1931 閱讀 1865

主要目的:使用filter完成條件查詢

1. 使用filterset

執行pip install django_filter命令

匯入

from django_filters import rest_framework as filters
使用filterset將其新增到filterset_class檢視類的引數中

使用新的filterset時,僅需要更改匯入路徑如果要預設使用django-filter後端,請將其新增到default_filter_backends設定中。

# settings.py[.

..'rest_framework'

,'django_filters',]

rest_framework =

實現**

from rest_framework import generics

from django_filters import rest_framework as filters

class

productfilter

(filters.filterset)

: min_price = filters.numberfilter(field_name=

"price"

, lookup_expr=

'gte'

) max_price = filters.numberfilter(field_name=

"price"

, lookup_expr=

'lte'

)class

meta

: model = product

fields =

['category'

,'in_stock'

,'min_price'

,'max_price'

]class

productlist

(generics.listapiview)

: queryset = product.objects.

all(

) serializer_class = productserializer

filter_backends =

[filters.djangofilterbackend,

] filterset_class = productfilter

2. 使用filterset_fields

filterset_fieldsfilterset不可同時使用

例項**

from rest_framework import generics

from django_filters import rest_framework as filters

class

productlist

(generics.listapiview)

: queryset = product.objects.

all(

) filter_backends =

(filters.djangofilterbackend,

) filterset_fields =

('category'

,'in_stock'

)

DRF 序列化自定義字段

models.py from django.db import models class usergroup models.model title models.charfield max length 32 class userinfo models.model user type choices...

DRF框架登入功能自定義認證和自定義的處理返回資料

1.在users模組建立utils.py,通過這個方法驗證是否為正確的使用者 from django.contrib.auth.backends import modelbackend import re from import models class userphoneemail modelba...

自定義控制項 二 安裝整合自定義的控制項

本章介紹如何把前一章建立的控制項安裝整合到qtcreator中,使得自己編寫的控制項也能像普通控制項一樣使用。把上一章編譯生成的hlabelplugin.dll libhlabelplugin.a 複製到c qt 4.8.2 plugins designer 即qtsdk的安裝目錄 中,重新開啟qt...