Python 谷歌应用程序引擎上的Django和地理空间查询-如何克服';每个查询一个不等式';问题
我刚刚开始使用GAE,我偶然发现了一个问题,这让我质疑在GAE上使用Django的可行性 我只想用Django的ORM做一个简单的查询:Python 谷歌应用程序引擎上的Django和地理空间查询-如何克服';每个查询一个不等式';问题,python,django,google-app-engine,google-cloud-datastore,django-nonrel,Python,Django,Google App Engine,Google Cloud Datastore,Django Nonrel,我刚刚开始使用GAE,我偶然发现了一个问题,这让我质疑在GAE上使用Django的可行性 我只想用Django的ORM做一个简单的查询: addresses = Address.objects.filter(lat__gte=form.cleaned_data['north_east_lat']) addresses = addresses.filter(lat__lte=form.cleaned_data['south_west_lat']) addresses = addresses.fil
addresses = Address.objects.filter(lat__gte=form.cleaned_data['north_east_lat'])
addresses = addresses.filter(lat__lte=form.cleaned_data['south_west_lat'])
addresses = addresses.filter(lon__gte=form.cleaned_data['north_east_lon'])
addresses = addresses.filter(lon__lte=form.cleaned_data['south_west_lon'])
但显然,使用Bigtable并不是那么容易:
BadFilterError:筛选器无效:每个查询只能有一个属性具有不等筛选器(=,)
我怎样才能避开这个问题?(最好使用Django的ORM)不幸的是,我不知道使用Django的ORM解决这个问题的简单方法。但是,您可以在GAE上执行地理空间查询(包括边界框查询,就像您在示例中所做的那样)。有关详细信息,请查看文章。请记住,这不是一个合适的地理空间查询:常规RDBMS也无法有效地对此进行索引。很多RDBMS都有带有特殊索引的地理空间工具包,这是有原因的。好吧,我将放弃Django ORM,直接使用GAE DB API。我应该放弃Django而使用webapp框架吗?(我的服务器端代码非常小且简单,所以我不担心更改它)