这些是演示模型

class Author(models.Model):
    name = models.CharField(max_lenght=5)

class Post(models.Model):
    author = models.ForeignKey(Author, on_delete=models.CASCADE)
    title = models.CharField(max_lenght=50)
    body = models.TextField()

而各自的观点是

class AuthorViewSet(viewsets.ModelViewSet):
    queryset = Author.objects.all()
    serializer_class = AuthorSerializer

class PostViewSet(viewsets.ModelViewSet):
    queryset = Post.objects.all()
    serializer_class = PostStatSerializer

我正在try 对PostViewSet执行更新/放置操作,该操作已成功,但我期待不同的输出.在成功更新帖子记录后,我想用AuthorSerializer将其作者记录作为输出发送.如何覆盖此功能并添加此功能?

推荐答案

我为我的问题想出了一些较少的代码修复方法.

class PostViewSet(viewsets.ModelViewSet):
    queryset = Post.objects.all()
    serializer_class = PostStatSerializer

    def update(self, request, *args, **kwargs):
        super().update(request, *args, **kwargs)
        instance = self.get_object()
        return Response(AuthorSerializer(instance.author).data)

Python相关问答推荐

从不规则形状区域返回使用openCV跟踪的对象的着陆位置

Gekko解算器错误results.json未找到,无法找出原因

如何将Pydantic URL验证限制为特定主机或网站

使用decorator 自动继承父类

如何使用scikit-learn Python库中的Agglomerative集群算法以及集群中声明的对象数量?

想要使用Polars groupby_Dynamic来缩减时间序列收件箱(包括空垃圾箱)

使用imap-tools时错误,其邮箱地址包含域名中的非默认字符

查找下一个值=实际值加上使用极点的50%

在使用Guouti包的Python中运行MPP模型时内存不足

如何从FDaGrid实例中删除某些函数?

如何调整spaCy token 化器,以便在德国模型中将数字拆分为行末端的点

如何在图片中找到这个化学测试条?OpenCV精明边缘检测不会绘制边界框

三个给定的坐标可以是矩形的点吗

具有多个选项的计数_匹配

如何避免Chained when/then分配中的Mypy不兼容类型警告?

无法通过python-jira访问jira工作日志(log)中的 comments

如何制作10,000年及以后的日期时间对象?

Telethon加入私有频道

当从Docker的--env-file参数读取Python中的环境变量时,每个\n都会添加一个\'.如何没有额外的?

cv2.matchTemplate函数匹配失败