python - 使用 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?
解决方案
推荐阅读
- r - 在 data.frame 中添加列和列表站点
- jekyll - 带有液体标签的 URL 字符串插值 Jekyll
- python - 我不能传递参数错误:无法识别的参数:Argparse Python3
- cloudera - Cloudera Manager 5.15 或 6.0 的 HiveOnSpark?
- xbox-one - 在 Xbox One 开发者模式下玩零售游戏?
- javascript - 在 Charts.js 上为某些数据显示提示时增加点半径
- java - 开关有问题
- python - 正则表达式从字符串中删除 'by'
- java - 如何在不返回值的情况下显示消息
- c - C -Wformat 警告 printf 中的整数提升