模型示例
一个商品的分类模型,只有主键和分类名称:
向该表中插入3条数据:
django.core.serializers
文档详见:https://docs.djangoproject.com/en/1.11/topics/serialization/#serializing-django-objects
以 serializers 说明文档为例,我们现在用它来序列化 Category 模型所返回的 QuerySet。
请记住!serializers 只用于序列化 Django 的 QuerySet!
实际开发中,我们不会将表中所有字段全部查询出来,当然现在的 Category 模型当中除了主键,只有一个 name 字段,如果你需要查询某个或某几个字段,你可能想到使用 values()。
不要使用 serialize 来序列化 values() 所返回的值,QuerySet 经过 values() 方法后,它将不再是一个 QuerySet!
请使用 fields 来查询指定字段:
json
按照上述方法,的确可以获得一个 JSON,但是数据结构可能并不符合一个 API 该有的样子,它会将 model、pk 等完全暴露出来,我们仍需要解决这个现象。
使用 json.dumps() 序列化查询结果后:
参考资料
Django Serialize Queryset to JSON to construct RESTful response with only field information and id