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

时间:2011-12-18 15:13:10

标签: django json format customization serializer

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

{
    "pk":1,
    "model":"book",
    "fields":{
       "name":"BookName",
       "price":"48",

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

{
    "id":1,
    "name":"BookName",
    "price":"48",

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

类似的帖子Django: custom serialization options?建议例如使用模板,但这是否意味着我需要为所有模型创建模板?

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

1 个答案:

答案 0 :(得分:6)

from django.forms.models import model_to_dict
model_to_dict(intance, fields=[], exclude=[])

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