首页 > 解决方案 > 使用 Django rest 序列化器过滤查询集

问题描述

我有两个序列化程序,其中一个用于另一个。

class CommentSerializers(ModelSerializer):
    class Meta:
        model = Comment
        fields = ['id','text', 'author','approved' , 'created_date']
        read_only_fields = ['author' ,'approved' ,'created_date']

接着

class PostSerializers(ModelSerializer):
    likes_count = serializers.SerializerMethodField(read_only=True)
    comments = CommentSerializers(source='comment_set', many=True, read_only=True)
    post_media = PostMediaSerializers(source='postmedia_set', many=True, required=False)

    class Meta:
        model = Post
        fields = [
            'id', 'text', 'likes_count', 'likes_count',
            'post_media', 'author', 'approved', 'comments','created_date',
        ]
        read_only_fields = ['author', 'approved', 'comments','created_date',]

如您所见,我收到了对帖子的评论并将其嵌套在那里,以便每个帖子都带有评论。挑战在于我只想向用户显示已批准的帖子。如何过滤comments_set?

标签: pythondjangodjango-modelsdjango-rest-framework

解决方案


推荐阅读