以下是我的serializer.py
文件:
from rest_framework import serializers
class TaskListSerializer(serializers.Serializer):
id = serializers.CharField()
user_id = serializers.CharField()
status = serializers.CharField()
name = serializers.CharField()
在Python shell中,我输入了这个:
>>> from serializer import TaskListSerializer as ts
>>> result = ts({'id':1, 'user_id': 1, 'status':2, 'name': 'bob'})
>>> result.data
{'status': u'2', 'user_id': u'1', 'id': u'1', 'name': u'bob'}
现在我想要这样做:
首先,输入不变,也是{'id':1, 'user_id': 1, 'status':2, 'name': 'bob'}
但我想在field
中添加name: bob
并将jim
更改为serializer.py
,并按以下方式输出:
{'status': u'2', 'user_id': u'1', 'id': u'1', 'name': u'jim', u'age': '15'}
我如何在serializer.py
中完成?
答案 0 :(得分:0)
使用serializers.SerializerMethodField()
class TaskListSerializer(serializers.ModelSerializer):
complex_things = serializers.SerializerMethodField()
def get_complex_things(self, obj):
result_of_complex_things = 2 + 2
return result_of_complex_things