压缩并下载Django Rest Framework生成的JSON文件

1 投票
1 回答
972 浏览
提问于 2025-04-18 10:12

假设我的 Django Rest Framework 应用在这个网址返回了一个 JSON 数据(其中 4 是一个模型的主键):http:mydomain.com/model_number/4/?format=json

[
    {
        "id": 96, 
        "title": "title 1",
        "picture": "static/uploads/pic1.jpg"
    },
    {
        "id": 97, 
        "title": "title 2",
        "picture": "static/uploads/pic2.jpg"
    },
    {
        "id": 98, 
        "title": "title 3",
        "picture": "static/uploads/pic3.jpg"
    }
]

我想创建一个 ZIP 文件,里面包含一个 JSON 文件(这个文件的内容就是上面提到的,由 Django Rest Framework 生成的),还有一个文件夹,里面有 pic1pic2pic3 这些图片。

我可以下载一个包含这些图片的 ZIP 文件,但我不知道怎么把 JSON 文件也放进去。

我不确定这是否和 解析器 有关:

任何帮助都非常感谢

1 个回答

1

只需要用你的模型实例来创建一个序列化器的实例。这个序列化器对象有一个叫做 data 的属性。

class YourModel(models.Model):
    ...

class YourModelSerializer(serializers.ModelSerializer):
    ...

your_json = YourModelSerializer(YourModel.objects.get(pk=5)).data

你也可以使用查询集,并加上一个标志 many=True

your_json = YourModelSerializer(YourModel.objects.all(), many=True).data

撰写回答