Python 在缓存django查询集时,调试工具栏显示仍在页面加载上运行的查询
我已经把这些文件读了好几遍,但仍然没有得到我需要的东西。我相信我正在缓存和pickle一个查询集,该查询集应该由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
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,或者缓存无法处理该对象