gpt4 book ai didi

ModelSerializer 中的 Django 自定义查询集

转载 作者:行者123 更新时间:2023-12-04 03:10:18 26 4
gpt4 key购买 nike

我有一个 PostSerializer ,它有一个使用 commentsCommentSerializer 字段。我想更改此 CommentSerializer 的查询集,以便它不会一次显示所有评论。这是代码

class PostSerializer(serializers.ModelSerializer):
comments = SimplifiedCommentSerializer(
many=True,
required=False,
)

class Meta:
model = Post
fields = ('comments')

class SimplifiedCommentSerializer(serializers.ModelSerializer):
content = serializers.TextField()

# this function doesn't seem to work
def get_queryset(self):
return Comment.objects.all()[:10]

class Meta:
model = Comment
fields = ('content')

我试过在 SimplifiedCommentSerializer 中使用 get_queryset ,但我仍然得到所有评论而不是前 10 条。

最佳答案

尝试改变这一点:

def get_queryset(self):
return Comment.objects.all()[:10]

进入:
queryset = Comment.objects.all()[:10]

编辑:

创建一个 View 集并外包上面的行:
class CommentViewSet(viewsets.ModelViewSet):
queryset = Comment.objects.all()[:10]
serializer_class = SimplifiedCommentSerializer

请看这个问题和答案:
django REST framework - limited queryset for nested ModelSerializer?

关于ModelSerializer 中的 Django 自定义查询集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45874121/

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