鸿沟串行Django的REST框架
问题描述:
我有一个串行接收:鸿沟串行Django的REST框架
{
"suggestions": [
{
"description": "Portugal - Porto",
"integration_data": {
.......
}
},
{
"description": "Portugal - Porto",
"another_data":{
.......
}
}]
}
我怎样才能让我的串行做这样的事情: 如果integration_data
不为空到功能X,我将与所有的逻辑工作串行器 如果another_data
不为空,则转到函数Y,在那里我将使用串行器的所有逻辑。
目前我的串行写为:
class SuggestionSerializer(serializers.HyperlinkedModelSerializer):
integration_data = serializers.DictField(write_only=True, allow_null=True, required=False)
sponsor_data = serializers.DictField(write_only=True, allow_null=True, required=False)
感谢
答
听起来像是你想使用一个serializer method field。类似于
class SuggestionSerializer(serializers.HyperlinkedModelSerializer):
integration_data = = serializers.SerializerMethodField()
...
def get_integration_data(self, obj):
# Insert logic for generating value of this field here
...
return value
这使您可以根据逻辑而不是数据任意生成字段的值。
SerializerMethodFields是只读的,我相信作者似乎希望可写字段。 –
是的,它们是只读的 - 你认为问题的作者想要在保存之前用函数处理数据......?不完全确定问题是什么。 –
我认为是的,但我不认为它们不符合模型领域。也许只是一个自定义创建... –