要按日期对Django Rest API端点的响应进行排序,可以使用Django的排序功能和Django Rest Framework的序列化器来实现。下面是一个示例解决方案:
from django.db import models
class MyModel(models.Model):
date = models.DateField()
# 其他字段
from rest_framework import serializers
from .models import MyModel
class MyModelSerializer(serializers.ModelSerializer):
class Meta:
model = MyModel
fields = '__all__'
from rest_framework import viewsets
from .models import MyModel
from .serializers import MyModelSerializer
class MyModelViewSet(viewsets.ModelViewSet):
queryset = MyModel.objects.all()
serializer_class = MyModelSerializer
get_queryset
方法,对查询结果按日期进行排序:from rest_framework import viewsets
from .models import MyModel
from .serializers import MyModelSerializer
class MyModelViewSet(viewsets.ModelViewSet):
queryset = MyModel.objects.all()
serializer_class = MyModelSerializer
def get_queryset(self):
queryset = MyModel.objects.all().order_by('date')
return queryset
from django.urls import include, path
from rest_framework import routers
from .views import MyModelViewSet
router = routers.DefaultRouter()
router.register(r'mymodels', MyModelViewSet)
urlpatterns = [
path('', include(router.urls)),
]
现在,当你访问/mymodels/
时,API端点将返回按日期排序的响应。
上一篇:按日期对大型电子表格进行求和
下一篇:按日期对Django对象进行过滤