如何在 django OrderFilter 中将默认顺序从 ASC 更改为 DESC

问题描述 投票:0回答:1

我不是 Django 开发专家。我试图编写一个具有

ordering_fields
ordering
字段的视图集,但此排序字段没有任何效果。我的观点是,

class ContentViewSet(viewsets.ModelViewSet):
    queryset = Content.objects.all()
    serializer_class = ContentSerializer
    filter_backends = [OrderingFilter]
    ordering_fields = ['created_at']
    ordering = ['-created_at']

我正在寻找的是,它将按降序提供列表。但是,如果我在网址中的created_at前面添加一个负号,它就会给我我正在寻找的东西,但我一直在寻找一个解决方案,在该解决方案中,我将获得相同的结果,而无需在网址中使用该负号。

提前致谢。

django django-rest-framework django-filter
1个回答
0
投票

您可以使用模型元选项。对于排序对象,您可以简单地将这段代码添加到您的模型类中:

class Meta:
    ordering = ["-created_at"]
© www.soinside.com 2019 - 2024. All rights reserved.