gpt4 book ai didi

python - 如何仅使用一个序列化器MethodField 获取两个值

转载 作者:行者123 更新时间:2023-12-01 06:31:33 24 4
gpt4 key购买 nike

当'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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com