Python 如何在序列化程序中添加字段?

Python 如何在序列化程序中添加字段?,python,django,serialization,django-rest-framework,Python,Django,Serialization,Django Rest Framework,下面是我的serializer.py文件: from rest_framework import serializers class TaskListSerializer(serializers.Serializer): id = serializers.CharField() user_id = serializers.CharField() status = serializers.CharField() name = serializers.CharFie

下面是我的
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'}

但是我想在
serializer.py
中添加一个
字段
并将
名称:bob
更改为
jim
,并按如下方式输出:

{'status':u'2','user_id':u'1','id':u'1','name':u'jim',u'age':'15'}


如何在
serializer.py
中执行此操作?

使用serializers.SerializerMethodField()


为什么不在
TaskListSerializer
类中添加一个新字段呢?事实上,我会做很多复杂的事情,因为我不能像你那样做,那么你想在序列化程序中添加字段,而不是在序列化程序类中?你认为那很干净吗?
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