我有一个序列化器,我想在其中呈现一个字典,我也将该字典转换为 JSON 格式,但我收到以下错误:Job 类型的对象不是 JSON 可序列化的。代码如下所示:jobs_by_hour = serializers.SerializerMethodField() def get_jobs_by_hour(self, obj): jobs = Job.objects.annotate(hour=ExtractHour('dt_start')) res = defaultdict(lambda: []) for x in jobs: res[x.hour].append(x) return json.dumps(res)我是这方面的新手,我不知道如何解决这个问题,欢迎任何帮助。最终,我想用这本字典显示按小时分组的数据,所以我得到 24 个工作列表
1 回答
蛊毒传说
TA贡献1895条经验 获得超3个赞
您正在附加查询集对象。您需要附加序列化数据。这样的事情应该有效。
def get_jobs_by_hour(self, obj):
jobs = Job.objects.annotate(hour=ExtractHour('dt_start'))
res = defaultdict(lambda: [])
for x in jobs:
res[x.hour].append(JobSerializer(x).data)
return json.dumps(res)
hour在您的 default 中添加一个字段JobSerializer。
添加回答
举报
0/150
提交
取消