django中過濾 搜尋 排序

2022-07-17 11:46:23 字數 1056 閱讀 7452

-對於列表資料可能需要根據字段進行過濾,我們可以通過新增django-fitlter擴充套件來增強支援。

pip install django-filter

rest_framework = ```

-在檢視中新增filter_fields屬性,指定可以過濾的字段

from django_filters.rest_framework import djangofilterbackend

class booklistview(listapiview):

queryset = bookinfo.objects.all()

serializer_class = bookinfoserializer

-區域性設定

filter_backends = [djangofilterbackend]

# 介面:/api/cars/?price=900000&brand=1

filter_fields = ('brand', 'price') #過濾的字段

## 搜尋

```python

from rest_framework.filters import searchfilter

# 篩選

filter_backends = [djangofilterbackend, searchfilter]

# 介面:/api/cars/?search=9 代表9在name或price兩個字段進行模糊查詢

search_fields = ('name', 'price')

from rest_framework.filters import orderingfilter

# 排序

# 介面:/api/cars/?ordering=-id | /api/cars/?ordering=-price

filter_backends = [djangofilterbackend, searchfilter, orderingfilter]

ordering_fields = ('id', 'price')

DRF 過濾 搜尋 排序功能

過濾功能利用的是第三方包 django filters,搜尋和排序利用的是 django drf 提供的 filters 示例 如下 from rest framework import filters 搜尋和排序功能 注意 這兩個是 drf 提供的功能 from django filters.re...

django 中多條件搜尋

django中我們一般用orm進行資料的互動操作,單條件搜尋比較方便,那多條件呢?吐槽完上面的,我們看看下面的 models就不曬了,直接上views 多條件查詢一行 就能搞定,我之前還在自己寫if,else進行判斷取值 login required def api case search requ...

django中的過濾器語法

過濾器 語法 例如 表示將變數name的值變為小寫輸出 使用管道符號 來應用過濾器 作用 通過使用過濾器來改變變數的計算結果 可以在if標籤中使用過濾器結合運算子 if list1 length 1過濾器能夠被 串聯 構成過濾器鏈 name lower upper過濾器可以傳遞引數,引數使用引號包起...