当'content'字段被排除时,我想在'sth'字段添加“NOT content contains”,否则“content contatined”
序列化器.py
class PostSerializer(serializers.ModelSerializer):
sth = serializers.SerializerMethodField()
class Meta:
model = Post
fields = ('id', 'sth', 'content', 'created',)
def get_sth(self, obj):
return
回复我想要得到的内容
[
{
"id": "1",
"sth": "content contained",
"content": "a",
"created": "2020-01-23"
},
{
"id": "3",
"sth": "NOT content contained",
"created": "2020-01-22"
},
]
我怎样才能得到像上面这样的回复。
最佳答案
在您的 to_representation
方法中修改它,如下所示
class PostSerializer(serializers.ModelSerializer):
class Meta:
model = Post
fields = ('id', 'content', 'created',)
def to_representation(self, instance):
data = super().to_representation(instance)
if content is not included:
data.update({'sth': "content contained"})
else:
data.update({'sth': "NOT content contained"})
return data
您必须根据您的系统设置不包含内容
条件。
关于python - 如何仅使用一个序列化器MethodField 获取两个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59889844/