gpt4 book ai didi

django 对象不能使用 serializers.serialize 进行迭代

转载 作者:行者123 更新时间:2023-12-04 13:11:37 28 4
gpt4 key购买 nike

我收到以下错误,

模板对象不可迭代

def get_AJAX(request, id):
data = serializers.serialize("json", Template.objects.get(pk=id))
return HttpResponse(data)

但是,我正在使用 'get'所以我不明白为什么我会收到这个错误。有任何想法吗?

最佳答案

那是因为你没有通过 iterable nor a QuerySet ,您传递的是 Template目的。如果要序列化该单个对象,可以这样做:

def get_AJAX(request, id):
data = serializers.serialize("json", [Template.objects.get(pk=id)])
return HttpResponse(data)

更新:推荐使用 filter反而。

还可以考虑使用 filter如果 pk 不存在,而不是 get 以避免可能的异常。这样你就不需要括号了,因为它是 QuerySet目的
def get_AJAX(request, id):
data = serializers.serialize("json", Template.objects.filter(pk=id))
return HttpResponse(data)

希望能帮助到你!

关于django 对象不能使用 serializers.serialize 进行迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16640021/

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