我刚刚开始使用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.filter(lon__gte=form.cleaned_data['north_east_lon'])
addresses = addresses.filter(lon__lte=form.cleaned_data['south_west_lon'])
但显然使用Bigtable并不容易:
BadFilterError:无效过滤器:每个查询只有一个属性可能有不等过滤器(< =,> =,<,>)..
如何解决这个问题? (最好使用Django的ORM)
答案 0 :(得分:3)
不幸的是,我不知道使用Django的ORM来解决这个问题的简单方法。但是,您可以在GAE上执行地理空间查询(包括您在示例中所做的边界框查询)。有关详细信息,请查看Geospatial Queries with Google App Engine using GeoModel文章。