django rest framework 過濾時(shí)間操作
通常我們會(huì)用到過濾兩個(gè)時(shí)間段內(nèi)的一些數(shù)據(jù), 當(dāng)我們用django rest framework的時(shí)候, 他可以根據(jù)字段filter_fields進(jìn)行過濾, 但是對于日期來說并不起作用, 這個(gè)時(shí)候就需要我們設(shè)置重寫queryset方法進(jìn)行捕捉了
重寫get_queryset()
def get_queryset(self):
start = self.request.query_params.get('fault_start_time', None)
stop = self.request.query_params.get('fault_end_time', None)
if start and stop:
return models.ServerFaultRecord.objects.filter(fault_start_time__gte=start).filter(fault_end_time__lte=stop)
return models.ServerFaultRecord.objects.all()
補(bǔ)充知識:django中時(shí)間區(qū)間過濾,排序
1.過濾下載
pip install django-filter
2.下載后注冊
INSTALLED_APPS=['django_filters',]
3.導(dǎo)入rest_framework
from django_filters import rest_framework class DoctorsFilter(rest_framework.FilterSet): authentication_classes = [TokenAuthentication] #開始時(shí)間 start_date = rest_framework.DateFilter(field_name='start_date', lookup_expr='gte') #結(jié)束時(shí)間 end_date = rest_framework.DateFilter(field_name='end_date', lookup_expr='lte')
4.在類中的使用
from django_filters.rest_framework import DjangoFilterBackend
from rest_framework.viewsets import ModelViewSet
class DoctorsViewSet(ModelViewSet):
filter_backends = [DjangoFilterBackend]
#過濾其他的字段
filter_fields = ('id', 'patient', 'doc_type',) #指向要過濾的類
filter_class = DoctorsFilter
2.排序
#1.導(dǎo)入OrderingFilter
from rest_framework.filters import OrderingFilter
#2.在類中的使用
class CarsModelViewSet(ModelViewSet):
queryset =models的類
serializer_class=序列化組件
filter_backends = [OrderingFilter]
#/api/cars/?ordering=-id 倒序 #/api/cars/?ordering=id 正序
ordering_fields = ('id', )
以上這篇django rest framework 過濾時(shí)間操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Selenium自動(dòng)化測試實(shí)現(xiàn)窗口切換
這篇文章主要介紹了Selenium自動(dòng)化測試實(shí)現(xiàn)窗口切換,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
在Python Flask App中獲取已發(fā)布的JSON對象的解決方案
這篇文章主要介紹了在Python Flask App中獲取已發(fā)布的JSON對象的解決方案,文中通過代碼示例介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-08-08
python使用PIL實(shí)現(xiàn)多張圖片垂直合并
這篇文章主要為大家詳細(xì)介紹了python使用PIL實(shí)現(xiàn)多張圖片垂直合并,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01
python不相等的兩個(gè)字符串的 if 條件判斷為True詳解
這篇文章主要介紹了python不相等的兩個(gè)字符串的 if 條件判斷為True詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
PyTorch快速搭建神經(jīng)網(wǎng)絡(luò)及其保存提取方法詳解
本篇文章主要介紹了PyTorch快速搭建神經(jīng)網(wǎng)絡(luò)及其保存提取方法詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04
nx.adjacency_matrix計(jì)算鄰接矩陣與真實(shí)結(jié)果不一致的解決
這篇文章主要介紹了nx.adjacency_matrix計(jì)算鄰接矩陣與真實(shí)結(jié)果不一致的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12

