鸿沟串行Django的REST框架

鸿沟串行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 

这使您可以根据逻辑而不是数据任意生成字段的值。

+0

SerializerMethodFields是只读的,我相信作者似乎希望可写字段。 –

+0

是的,它们是只读的 - 你认为问题的作者想要在保存之前用函数处理数据......?不完全确定问题是什么。 –

+0

我认为是的,但我不认为它们不符合模型领域。也许只是一个自定义创建... –