我需要向序列化器添加一个额外的字段。我有下面的 django 序列化程序
{
"count": 2,
"next": null,
"previous": null,
"results": [
{
"id": 8363,
"name": "test10",
"description": ""
},
{
"id": 8360,
"name": "check",
"description": "edew"
}
]
}
我需要添加一个字段,例如,我们将其称为
new_field
。
我们怎样才能使这成为可能?我期待的结构如下。
{
"count": 2,
"next": null,
"previous": null,
"results": [
{
"id": 8363,
"name": "test10",
"description": ""
},
{
"id": 8360,
"name": "check",
"description": "edew"
}
],
"new_field": "New Field Value"
}
我可以假设您使用 ModelSerializer,因此您的代码如下所示:
class MySerializer(ModelSerializer):
class Meta:
model = MyModel
fields = '__all__'
要添加新字段,您应该执行以下操作:
class MySerializer(ModelSerializer):
new_field = serializers.CharField()
class Meta:
model = MyModel
fields = ['count', 'next', ... , 'new_field]
class MySerializer(ModelSerializer):
new_field = serializers.SerializerMethodField()
class Meta:
model = MyModel
fields = '__all__'
def get_new_field(self,obj):
...codes
return new_field
这是添加 new_field 的方法