可以从视图返回``响应'',`httpresponse'或`httpStreamingResponse`,但收到了一个'< class' noneType>

发布于 2025-01-27 07:53:35 字数 1255 浏览 3 评论 0原文

我正在收到错误

期望响应httpresponsehttpstreamingresponse be 从视图返回,但收到了<类'nontype'> 在django drf中,

在我的查询中,我试图将所有相关项目的数量计算到一个特定项目

the views.py

@api_view(['GET'])
def getVesselInfo(request):
    vessels = (Vessel.objects.annotate(
        Count('vessel_components', distinct=True)))
    vSerializer = VesselSerializer(vessels, many=True)
    return Response(vSerializer.data,)

models.py.py:

class Vessel(models.Model):
    name = models.CharField(max_length=255)
    imo = models.CharField(max_length=255)

    def __str__(self):
        return self.name

class Component(MP_Node):
    name = models.CharField(max_length=255, blank=True, null=True)
    manufacturer = models.CharField(max_length=200, blank=True, null=True)
    model = models.CharField(max_length=200, blank=True, null=True)
    type = models.CharField(max_length=200, blank=True, null=True)
    remarks = models.TextField(blank=True, null=True)
    vessel = models.ForeignKey(
        Vessel, blank=True, null=True, on_delete=models.CASCADE, related_name='vessel_components')

    def __str__(self):
        return self.name

I am receiving the error

Expected a Response, HttpResponse or HttpStreamingResponse to be
returned from the view, but received a <class 'NoneType'>
In Django DRF,

in my query i am trying to get the count of all related items to one specific item

the views.py

@api_view(['GET'])
def getVesselInfo(request):
    vessels = (Vessel.objects.annotate(
        Count('vessel_components', distinct=True)))
    vSerializer = VesselSerializer(vessels, many=True)
    return Response(vSerializer.data,)

models.py:

class Vessel(models.Model):
    name = models.CharField(max_length=255)
    imo = models.CharField(max_length=255)

    def __str__(self):
        return self.name

class Component(MP_Node):
    name = models.CharField(max_length=255, blank=True, null=True)
    manufacturer = models.CharField(max_length=200, blank=True, null=True)
    model = models.CharField(max_length=200, blank=True, null=True)
    type = models.CharField(max_length=200, blank=True, null=True)
    remarks = models.TextField(blank=True, null=True)
    vessel = models.ForeignKey(
        Vessel, blank=True, null=True, on_delete=models.CASCADE, related_name='vessel_components')

    def __str__(self):
        return self.name

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文