在Django中自定义Json序列化程序的格式?

xu *_*nze 3 django format customization json serializer

序列化django模型对象时,格式如下:

{
    "pk":1,
    "model":"book",
    "fields":{
       "name":"BookName",
       "price":"48",
Run Code Online (Sandbox Code Playgroud)

如果它是这样的话会更直接吗?

{
    "id":1,
    "name":"BookName",
    "price":"48",
Run Code Online (Sandbox Code Playgroud)

我只是想知道是否有一种简单的方法可以做到这一点?Json数据将被发送到iPhone等移动设备,客户端对模型名称不感兴趣,或者表中有哪些字段.

类似的帖子Django:自定义序列化选项?建议使用模板,但这是否意味着我需要为所有模型创建模板?

还有一个问题是完全序列化,这与Django的内置序列化器相反,后者仅返回相关字段的主键值.我知道DjangoFullSerializers可以做到这一点,但是可以做到这两点(自定义格式和完整序列化)吗?

kos*_*sii 6

from django.forms.models import model_to_dict
model_to_dict(intance, fields=[], exclude=[])
Run Code Online (Sandbox Code Playgroud)

使用此功能可以获得预期的结果.