Python 用于处理扁平化规范化请求数据的嵌套可写序列化程序
我有一个嵌套的可写序列化程序Python 用于处理扁平化规范化请求数据的嵌套可写序列化程序,python,django,django-rest-framework,Python,Django,Django Rest Framework,我有一个嵌套的可写序列化程序 class GamerSerializer(serializers.ModelSerializer): account= AccountSerializer() document = DocumentSerializer() class Meta: model = Gamer fields = [ 'chosen_game', 'gamer_experience', 'account', '
class GamerSerializer(serializers.ModelSerializer):
account= AccountSerializer()
document = DocumentSerializer()
class Meta:
model = Gamer
fields = [
'chosen_game',
'gamer_experience',
'account',
'document'
]
这个序列化程序应该创建Account对象、与Account相关的Gamer对象以及与Gamer相关的Document对象。
默认情况下,嵌套序列化程序始终接受嵌套对象作为数据,如下所示:
serializer = self.get_serializer(data= { account: {...acount}, document: {...document}, chosen_game: "Minecraft", "gamer_experience": "1 year" } )
但我希望序列化程序接受规范化的扁平化数据(我们假设模型属性的名称不重叠)。像这样:
serializer = self.get_serializer(data= { account_name: '', account_type:'', document_name: '', document_file: '', chosen_game: "Minecraft", "gamer_experience": "1 year" })
如何实现此结果?在
GamerSerializer
classIt中定义所有必填字段仍然需要传递嵌套对象,而不是标准化数组。删除帐户
和文档
字段这不会产生任何差异在GamerSerializer
classIt中定义所有必填字段仍然需要传递嵌套对象而不是标准化数组。删除帐户和文档字段这不会有任何区别