gpt4 book ai didi

python - 在 Django Rest Framework 中修改序列化程序的输出

转载 作者:太空宇宙 更新时间:2023-11-03 13:19:28 24 4
gpt4 key购买 nike

我正在使用django rest框架输出一篇文章的内容。它工作出色,除了现在我想修改行为以不返回完整的“内容”,而是一个预告片(比如内容的前 200 个字符,但理想情况下我希望能够添加任何逻辑,比如第一个句子结束后 200 个字符):

class ArticleSerializer(serializers.HyperlinkedModelSerializer):
user = UserSerializer(many=False, read_only=True)

class Meta:
model = models.Article
fields = (
'id'
,'title'
, 'date_added'
, 'content'
, 'user'
)

我查看了 GenericAPIView,我认为其中可能有一些东西需要覆盖 - 但看起来没有什么明显的 - 有人可以提供一些见解吗?提前谢谢你

最佳答案

我很确定这就是您所需要的:

http://django-rest-framework.org/api-guide/fields.html#serializermethodfield

class ArticleSerializer(serializers.HyperlinkedModelSerializer):
user = UserSerializer(many=False, read_only=True)
teaser = serializers.SerializerMethodField('get_teaser')

class Meta:
model = models.Article
fields = (
'id'
,'title'
, 'date_added'
, 'user'
, 'teaser'
)

def get_teaser(self, obj):
return force_text(obj.content[:20])

关于python - 在 Django Rest Framework 中修改序列化程序的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19144339/

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