【问题标题】:nested serialize Django object嵌套序列化 Django 对象
【发布时间】:2020-12-26 12:26:56
【问题描述】:

大家好,我想序列化我的模型对象。我的模型是这样的:

class User (models.Model):
   name = models.CharField(max_length=30)
   family_name = models.CharField(max_length=30)

我还有另一个这样的模型:

class Child (models.Model):
   little_name = models.CharField(max_length=30)
   user = models.ForeignKey("User", on_delete=models.CASCADE,)

我想用用户字段中的所有字段序列化我的一个子对象,例如:

{"id": 1 ,
 "little_name": "Sam",
 "user": {"id": 1,
          "name": "Karim",
          "family_name":"Kari"
         }
}

我使用 django 的 model_to_dict() 和 dict() 和序列化程序,但我无法完全获取用户字段,他们像这样返回它:

{"id": 1 ,
 "little_name": "Sam",
 "user": "id": 1,
}

并且我不想使用 django rest 序列化器 我该怎么办?!?

【问题讨论】:

  • 写你自己的函数是我能想到的最好的事情,因为你不想使用 DRF 的序列化器

标签: django django-models django-serializer


【解决方案1】:

两次使用model_to_dict:

child_dict = model_to_dict(child)
child_dict['user'] = model_to_dict(child.user)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-24
    • 1970-01-01
    • 2013-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多