当前位置:  开发笔记 > 编程语言 > 正文

无法使用ajax显示查询集

如何解决《无法使用ajax显示查询集》经验,为你挑选了1个好方法。

我在使用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脚本:


我该怎么做才能解决上面的问题?
提前致谢



1> Alasdair..:

如果您查看来自Django的错误消息,您将看到它抱怨查询集不是JSON可序列化的.对于ajax请求,您可以在使用Web浏览器的开发工具时查看响应DEBUG=True.

首先要做的是使用values(),它返回一个查询集,其中包含查询集中每个实例的字典.其次,您需要将查询集强制转换为列表.

queryset = StoreProduct.objects.get_size(productid)
values_list = list(queryset.values())

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有