Django: QuerySet类型的对象是不可JSON序列化的



我试图使用JqueryDjango从购物车中删除项目,我已经编写了逻辑来做到这一点,但我一直得到这个错误说Object of type QuerySet is not JSON serializable,我似乎可以知道问题是什么,因为我已经尝试将下面的代码转换为使用django和values()中的list()方法列表,但它仍然不像预期的那样工作。

views.py

def RemoveWishlist(request):
    wishlist = Wishlist.objects.filter(user=request.user)
    ...
    context = {
        "bool":True,
        "wishlist":wishlist
    }
    t = render_to_string('core/async/wishlist-list.html', context)
    return JsonResponse({'data':t,'wishlist':wishlist})

如错误所述,queryset不是JSON可序列化的。因此,你可以使用Django的序列化器将其转化为JSON,并将其传递给JsonResponse类初始化:

from django.core import serializers
....
qs_json = serializers.serialize('json', wishlist)
return JsonResponse({'data':t,'wishlist':qs_json})

最新更新