Python 在Django中缓存空间查找

Python 在Django中缓存空间查找,python,django,caching,distance,geodjango,Python,Django,Caching,Distance,Geodjango,我使用Python2.7和Django 1.9 基于多边形时,我成功地缓存了空间查询集的结果,但基于与位置的距离时,我无法缓存它 返回的错误是:“TypeError:无法pickle二进制对象” 知道为什么吗 以下是缓存功能的摘要: qs = ThePlace.objects.annotate(distn=Distance('lnglat', populatedplacegeom)).filter(distn__lte=D(km=25).m) cache.set(cacheid, qs, 100

我使用Python2.7和Django 1.9

基于多边形时,我成功地缓存了空间查询集的结果,但基于与位置的距离时,我无法缓存它

返回的错误是:“TypeError:无法pickle二进制对象”

知道为什么吗

以下是缓存功能的摘要:

qs = ThePlace.objects.annotate(distn=Distance('lnglat', populatedplacegeom)).filter(distn__lte=D(km=25).m)
cache.set(cacheid, qs, 10000)

信息:我在查询集中还有几个与预回迁相关的和与选择相关的。

你能附上完整的回溯吗?嗨,udi。我从缓存结果切换到Memcached,将结果缓存到数据库。我不确定它是否相关,但它现在正在工作,因此我无法再重现错误。谢谢你。你能附上完整的回溯吗?嗨,udi。我从缓存结果切换到Memcached,将结果缓存到数据库。我不确定它是否相关,但它现在正在工作,因此我无法再重现错误。无论如何,谢谢你。