django中時間區間過濾,排序


1.過濾下載
pip install django-filter

2.下載后注冊
INSTALLED_APPS=['django_filters',]

3.導入rest_framework
from django_filters import rest_framework

class 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 DjangoFilterBackend
from rest_framework.viewsets import ModelViewSet
class DoctorsViewSet(ModelViewSet): filter_backends = [DjangoFilterBackend] #過濾其他的字段 filter_fields = ('id', 'patient', 'doc_type',)
#指向要過濾的類 filter_class
= DoctorsFilter

 2.排序

#1.導入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', )


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM