我在使用ajax时无法显示queryset
这是我的views.py
:
if request.user.is_authenticated(): productid = request.GET.get('productId') print productid if request.is_ajax(): try: queryset= StoreProduct.objects.get_size(productid) except: queryset= None data = { "queryset" : queryset } return JsonResponse(data)
这是我的ajax脚本:
我该怎么做才能解决上面的问题?
提前致谢
如果您查看来自Django的错误消息,您将看到它抱怨查询集不是JSON可序列化的.对于ajax请求,您可以在使用Web浏览器的开发工具时查看响应DEBUG=True
.
首先要做的是使用values()
,它返回一个查询集,其中包含查询集中每个实例的字典.其次,您需要将查询集强制转换为列表.
queryset = StoreProduct.objects.get_size(productid) values_list = list(queryset.values())