我有一个类似的模型序列化器 -
class VariableSerializer(serializers.ModelSerializer):
owner_name = serializers.Field(source='owner_id.owner_name')
class Meta:
model = Varmst
resource_name = 'varmst'
fields = ('varmst_id', 'varmst_type', 'varmst_name', 'varmst_value',
'varmst_desc')
'varmst_value'对应于一个整数,取决于该整数可能意味着不同的东西。如何将归一化值返回整数?
即。 如果'varmst_value'= 2,那么我希望序列化程序返回'varmst_type':'email' 如果'varmst_value'= 3,那么我希望序列化程序返回'varmst_type':'website'
答案 0 :(得分:1)
我认为以下解决方案可以帮助您
class VariableSerializer(serializers.ModelSerializer):
owner_name = serializers.Field(source='owner_id.owner_name')
class Meta:
model = Varmst
resource_name = 'varmst'
fields = ('varmst_id', 'varmst_type', 'varmst_name', 'varmst_value',
'varmst_desc')
def transform_varmst_type(self, obj, value):
if obj.varmst_value == 2:
return "email"
if obj.varmst_value == 3:
return "Website"