zip并下载Django Rest Framework生成的json文件

时间:2014-06-18 11:34:44

标签: python json django django-rest-framework

假设我的django rest框架应用程序正在为此url返回此json(其中4是模型的pk):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"
    }
]

我想创建并下载带有json文件的zip文件,该文件包含上述内容(由django rest framework生成),以及包含pic1pic2pic3的文件夹

我可以下载包含这些图片的文件夹的zip,但我不知道如何包含json文件。

我不知道它是否与parsers相关:

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

只需使用模型实例作为参数构造序列化程序的实例。 Serializer对象具有属性data

class YourModel(models.Model):
    ...

class YourModelSerializer(serializers.ModelSerializer):
    ...

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

您还可以将queryset与标记many=True

一起使用
your_json = YourModelSerializer(YourModel.objects.all(), many=True).data