是否有方法订购嵌套序列化程序_set,例如订购pktime-stamp.

因此,基本上,在下面的json数据中,从最新创建的对象到最新创建的对象的顺序是song_set,在本例中是order_by('-timestamp')order_by('-pk').

Json data

{
    "pk": 151,
    "album_name": "Name",
    "song_set": [
         {
           pk: 3,
           timestamp: '5 seconds'
         },
         {
           pk: 2,
           timestamp: '10 seconds'
         },
         {
           pk: 1,
           timestamp: '15 seconds'
         }
    ]
}

Model

class Album(models.Model):
    album_name     = models.CharField(max_length=100, blank=True)


class Song(models.Model):
    album          = models.ForeignKey('album.Album', default=1)
    timestamp      = models.DateTimeField(auto_now_add=True, auto_now=False)

Serializer

class SongListSerializer(HyperlinkedModelSerializer):
    class Meta:
        model = Song
        fields = [
            'pk',
            'timestamp'
        ]

class AlbumSerializer(HyperlinkedModelSerializer):
    song_set = SongListSerializer(many=True, read_only=True)
    class Meta:
        model = Album
        fields = [
            'pk',
            'timestamp',
            'song_set'
        ]

推荐答案

You can use SerializerMethodField and write custom method for this.

class AlbumSerializer(HyperlinkedModelSerializer):
    song_set = serializers.SerializerMethodField()
    class Meta:
        model = Album
        fields = [
            'pk',
            'timestamp',
            'song_set'
        ]

    def get_song_set(self, instance):
        songs = instance.song_set.all().order_by('-timestamp')
        return SongListSerializer(songs, many=True).data

Json相关问答推荐

带有PowerShell内核的NewtonSoft json.Net的奇怪行为

为什么JQ筛选器不将原始输入打印为$var|.';文档?

属性错误:';ActivitiesClient';对象没有属性';base_url';

将 REST API - json 输出转换为表 Power BI

如何强制仅有一个元素的数组在JSON中生成方括号

在Databricks中如何将JSON文件作为字典读取

如何在 Dart 中与多个 map (字典)相交

jq搜索特定字符串并输出对应的父值

为什么在测试 RSPEC 时 JBuilder 不返回 JSON 中的响应正文

apple-app-site-association json 文件是否会在应用程序中更新?

直接从 Java 中的模型类创建 JSON 对象

如何使用 LWP 发出 JSON POST 请求?

ASP.NET MVC 读取原始 JSON 发布数据

有没有办法在 angular.json 中扩展配置?

java.lang.BootstrapMethodError:调用站点#4 bootstrap 方法的异常,初始化 retrofit 时

从 JSON 到 JSONL 的 Python 转换

将多个值存储在json中的单个键中

如何在 JAVA 中对 JSONArray 进行排序

为什么 RestTemplate 不将响应表示绑定到 PagedResources?

从 Ruby 中的 JSON 文件解析并从嵌套哈希中提取数字