Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在缓存django查询集时,调试工具栏显示仍在页面加载上运行的查询_Python_Django_Caching_Python 3.x_Django Queryset - Fatal编程技术网

Python 在缓存django查询集时,调试工具栏显示仍在页面加载上运行的查询

Python 在缓存django查询集时,调试工具栏显示仍在页面加载上运行的查询,python,django,caching,python-3.x,django-queryset,Python,Django,Caching,Python 3.x,Django Queryset,我已经把这些文件读了好几遍,但仍然没有得到我需要的东西。我相信我正在缓存和pickle一个查询集,该查询集应该由django计算,这样查询就不会在页面加载时执行,而是在创建缓存对象时使用缓存结果。但是调试工具栏显示页面加载时查询仍在运行。所以我假设我只是缓存查询,而不是结果。下面是我的代码,任何帮助都会很好,我已经被困在这几天了。谢谢 用于生成缓存键、值的管理命令: images_query = ImageAssociations.objects.filter(place_id = pl

我已经把这些文件读了好几遍,但仍然没有得到我需要的东西。我相信我正在缓存和pickle一个查询集,该查询集应该由django计算,这样查询就不会在页面加载时执行,而是在创建缓存对象时使用缓存结果。但是调试工具栏显示页面加载时查询仍在运行。所以我假设我只是缓存查询,而不是结果。下面是我的代码,任何帮助都会很好,我已经被困在这几天了。谢谢

用于生成缓存键、值的管理命令:

    images_query = ImageAssociations.objects.filter(place_id = place_id).order_by(-image_score')[:10]
    images = pickle.dumps(images_query)  
    cache.set('images', images, timeout=9999)
Views.py

    images_cache = cache.get('images')
    images = pickle.loads(images_cache)
    args = {}
    args['images'] = images
    return render_to_response('place.html', args)

请显示更多代码。全视图,放置在模板中,用于循环图像。您在哪里调用缓存?您确定缓存已设置吗?在
cache.set
之后立即尝试
cache.get('images')
。由于大小或其他原因,查询结果可能无法被pickle,或者缓存无法处理该对象