我有一个包含父字段的子模型,我从一个API(我无法控制它的格式)得到一个JSON。在
在模型.py公司名称:
class ChildModel(models.Model):
name = models.CharField(max_length=100)
age = models.IntegerField()
parent = models.CharField(max_length=100)
在API.json文件公司名称:
^{pr2}$我正在尝试编写一个序列化程序,它将获得这个JSON并创建3个不同的子对象。在
我设法为一个孩子这样做:
class ChildSerializer(serializers.Serializer):
name = serializers.CharField()
age = serializers.IntegerField()
class ParentSerializer(serializers.ModelSerializer):
parent_name = serializers.CharField()
children = ChildSerializer(source='*')
class Meta:
model = ChildModel
fields = ('parent_name', 'children')
但是当一个父母有多个孩子时,我不知道如何挽救多个孩子。在
我试着把它改成这样:
children = ChildSerializer(source='*', many=True)
但经验证的数据如下所示:
OrderedDict([(u'parent_name', u'Homer'), (u'name', u'age')])
有什么建议吗?在
您需要自定义序列化程序,以便它创建所有子级。为此,使用
create()
方法。在试试这个:
问题是你没有
Parent
模型。这就是为什么我不知道在create()
方法中返回什么。根据您的情况,更改return child
行。在希望有帮助!在
相关问题 更多 >
编程相关推荐