首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >django rest框架,从serializers.py文件中order_by一个JSON

django rest框架,从serializers.py文件中order_by一个JSON
EN

Stack Overflow用户
提问于 2014-02-06 13:01:41
回答 2查看 10K关注 0票数 13

我正在使用django rest框架,我想对我的json进行排序,我可以从serializers.py中的serializers.py文件中使用django rest框架创建一个order_by

代码语言:javascript
运行
复制
class EstablecimientoSerializer(serializers.ModelSerializer):
    class Meta:
        model = Establecimiento
        depth = 1
        fields =   ('nombre','ciudad',)
    order_by = (
        ('nombre',)
    )

我有这个order_by,但它与JSON无关。

在serializers.py的JSON中执行此order by的正确方法是什么?

我在views.py中有

代码语言:javascript
运行
复制
class EstablecimientoViewSet(viewsets.ModelViewSet):
    queryset = Establecimiento.objects.order_by('nombre')
    serializer_class = EstablecimientoSerializer
    filter_backends = (filters.DjangoFilterBackend,)
    filter_fields = ('categoria','categoria__titulo',)

因为我有这个过滤器,所以order_by就不能工作了,我该怎么做才能让这个过滤器在order_by中很好地工作呢?

EN

回答 2

Stack Overflow用户

发布于 2014-04-22 17:46:55

有一个简单的方法,只需通过添加一个排序行来显式覆盖它:

代码语言:javascript
运行
复制
class EstablecimientoViewSet(viewsets.ModelViewSet):
    queryset = Establecimiento.objects
    serializer_class = EstablecimientoSerializer
    filter_backends = (filters.DjangoFilterBackend, filters.OrderingFilter)
    ordering = ('nombre',) #add this line
    filter_fields = ('categoria','categoria__titulo',)
票数 10
EN

Stack Overflow用户

发布于 2014-02-06 20:14:04

您不需要使用序列化程序进行排序。您需要在视图中使用queryset属性,如下所示:

代码语言:javascript
运行
复制
class EstablecimientoListView(generics.ListCreateAPIView):
    queryset = Establecimiento.objects.order_by('nombre')
    serializer_class = EstablecimientoSerializer

    def filter_queryset(self, request, queryset, view):
        qs = super(EstablecimientoListView, self).filter_queryset(request, queryset, view)
        qs = qs.order_by('nombre')
        return qs
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21594393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档