久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

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

django rest framework 過濾時間操作

瀏覽:169日期:2024-09-27 08:28:10

通常我們會用到過濾兩個時間段內的一些數據, 當我們用django rest framework的時候, 他可以根據字段filter_fields進行過濾, 但是對于日期來說并不起作用, 這個時候就需要我們設置重寫queryset方法進行捕捉了

重寫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()

補充知識:django中時間區間過濾,排序

1.過濾下載

pip install django-filter

2.下載后注冊

INSTALLED_APPS=[’django_filters’,]

3.導入rest_framework

from django_filters import rest_frameworkclass DoctorsFilter(rest_framework.FilterSet): authentication_classes = [TokenAuthentication] #開始時間 start_date = rest_framework.DateFilter(field_name=’start_date’, lookup_expr=’gte’) #結束時間 end_date = rest_framework.DateFilter(field_name=’end_date’, lookup_expr=’lte’)

4.在類中的使用

from django_filters.rest_framework import DjangoFilterBackendfrom rest_framework.viewsets import ModelViewSetclass DoctorsViewSet(ModelViewSet): filter_backends = [DjangoFilterBackend] #過濾其他的字段 filter_fields = (’id’, ’patient’, ’doc_type’,) #指向要過濾的類 filter_class = DoctorsFilter

2.排序

#1.導入OrderingFilterfrom 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 過濾時間操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Django
相關文章:
主站蜘蛛池模板: 乐安县| 永兴县| 禄劝| 汉源县| 大宁县| 桦甸市| 石柱| 镇康县| 白朗县| 关岭| 江源县| 高碑店市| 长沙县| 鲁甸县| 吉安县| 襄汾县| 晋宁县| 锡林浩特市| 体育| 宿松县| 崇阳县| 乡城县| 都昌县| 镇坪县| 盐池县| 鄄城县| 蒙城县| 应城市| 宁南县| 舒兰市| 西充县| 肃宁县| 肥城市| 虹口区| 拜泉县| 隆化县| 清涧县| 仁寿县| 老河口市| 咸丰县| 长武县|