Django:对序列化数据应用 order by

标签 django django-rest-framework

我有 3 个序列化器:

class abcSerializer(serializers.ModelSerializer):
    created=Field(source='time')
    result = Field(source='result')

    class Meta:
        model = abc
        fields = ('created','result')
        order_by = ['-created']

class defSerializer(serializers.ModelSerializer):
    created=Field(source='time')
    result = Field(source='result')
    class Meta:
        model = def
        fields =('created','result')
        order_by = ['-created']



class mainSerializer(serializers.ModelSerializer):
    obj1 = abcSerializer()
    obj2 = defSerializer()

    class Meta:
        model = main

        fields = ('obj1','obj2')

在views.py中:

data =  main.objects.filter(id=111)
serializer = mainSerializer(data)
return Response(record)

在 UI 中,我显示序列化数据,如下所示:

        created                result
abc     1-9-2016 9:30:00        pass

def     2-9-2016 10:34:00       fail

我得到的序列化数据如下:

data = [{'created':'1-09-2106','result':'pass'},{'created':'2-09-2106','result':'fail'}]

我想根据基于最新日期创建的字段对数据进行排序。

        created                result
def     2-9-2016 9:30:00        fail
abc     1-9-2016 10:34:00       pass

无法弄清楚如何对创建的字段进行排序 任何帮助将不胜感激!!

最佳答案

我认为您想要模型中的顺序而不是序列化器。

class abcModel(models.Model):
    created = models.DateTimeField(...)
    result = ...

    class Meta:
        ordering = ['-created']

关于Django:对序列化数据应用 order by,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39455541/

相关文章:

Django 教程 selection_set

python - 为什么1是可以的,但是2是错误的,使用django和jquery

django - django 应用程序的 uWSGI + nginx 避免 pylibmc 多线程并发问题?

python - Django Rest Framework 嵌套序列化器对象为 null

由于模板路径问题,django-ckeditor 失败

python - 如何在不检索外来对象实例的情况下保存外键?

python - django-rest-framework:通用 View 和基于方法的权限

python - 在 Django 中验证 Google ID token

python - 如何在 Django 中从 postgresql 迁移到 sqlite3?

facebook - 我来自 facebook 的 'access_token' 是 "incorrect value"