gpt4 book ai didi

python - Django: "TypeError: [] is not JSON serializable"为什么?

转载 作者:IT老高 更新时间:2023-10-28 12:48:09 27 4
gpt4 key购买 nike

怎么会引发这个错误?我输入了这个:

def json(self):
return json.dumps(
{
'items': self.items
}
)

并得到了那个错误(因为 self.items 是一个空的查询集(Django)

然后,

def json(self):
return json.dumps(
{
'items': [] # Pass in empty list to prove that the error was idiotic.
}
)

工作正常(这至少证明错误消息毫无值(value))

这是因为查询集定义了 repr() 并在它为空或类似荒谬的情况下将 '[]' 作为字符串返回?

最佳答案

查询集不是开箱即用的可序列化的。如果您尝试 list(self.items) 而不仅仅是 self.items,只要项目本身是 JSON 可序列化的,那应该可以工作。

更新:即使它不为空也会引发异常。我不认为它会被接受为 Django 错误,尽管您当然可以尝试;正如我已经说过的,最简单的答案是使用 list(qs) 强制评估。

关于python - Django: "TypeError: [] is not JSON serializable"为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2243002/

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