在Graphql查询中接收到不兼容的实例

2024-09-30 12:13:44 发布

您现在位置:Python中文网/ 问答频道 /正文

当我用下面的请求来打击失眠时,它显示了这种反应。我如何解决这个问题

请求:

query{
    datewiseCoronaCasesList{
        updatedAt,
        affected,
        death,
        recovered
    }
}

响应:

{
    "errors": [
        {
            "message": "Received incompatible instance \"{'updated_at': datetime.date(2020, 4, 8), 'affected': 137, 'death': 42, 'recovered': 104}\"."
        }
    ],
    "data": {
        "datewiseCoronaCasesList": [
            null
        ]
    }
}

我已经在错误消息中得到了我的期望,但是这样:

{
    'updated_at': datetime.date(2020, 4, 8),
    'affected': 137,
    'death': 42,
    'recovered': 104
}

我的GraphQL查询:

class CoronaQuery(graphene.ObjectType):
    datewise_corona_cases_list = graphene.Field(CoronaCaseType)

    def resolve_datewise_corona_cases_list(self, info, **kwargs):
        return CoronaCase.objects.values('updated_at').annotate(
affected=Sum('affected'),death=Sum('death'), recovered=Sum('recovered'))

我的型号:

class CoronaCase(models.Model):
    affected = models.IntegerField(default=0)
    death = models.IntegerField(default=0)
    recovered = models.IntegerField(default=0)
    district = models.CharField(max_length=265, null=False, blank=False)
    created_at = models.DateTimeField(default=timezone.now)
    updated_at = models.DateTimeField(default=timezone.now)

    def __str__(self):
        return "Affected from: {}".format(self.district)

Tags: selfdefaultdatetimedatemodelsrecoverednullat
1条回答
网友
1楼 · 发布于 2024-09-30 12:13:44

CoronaQuery类下,由于返回的是对象(实例)列表,graphene.Field应更改为graphene.List

我的意思是:

class CoronaQuery(graphene.ObjectType):
    datewise_corona_cases_list = graphene.List(CoronaCaseType) 

相关问题 更多 >

    热门问题