python – 修改Django Rest Framework中序列化程序的输出
发布时间:2020-12-20 11:30:20 所属栏目:Python 来源:网络整理
导读:我正在使用 django rest框架来输出文章的内容.它工作得很精彩,除了现在我想修改行为不返回完整的“内容”,而是一个预告片(比如内容的前200个字符,但理想情况下我希望能够添加任何逻辑,比如说200个字符后的第一句结尾): class ArticleSerializer(serializers
我正在使用
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','user','teaser' ) def get_teaser(self,obj): return force_text(obj.content[:20]) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |