Python 在与GeoDjango等效的(几何体列)上选择DISTINCT
我正在尝试创建一个Django查询,该查询将执行以下PostgreSQL/PostGIS查询的等效操作:Python 在与GeoDjango等效的(几何体列)上选择DISTINCT,python,django,postgresql,postgis,geodjango,Python,Django,Postgresql,Postgis,Geodjango,我正在尝试创建一个Django查询,该查询将执行以下PostgreSQL/PostGIS查询的等效操作: SELECT DISTINCT ON (site) * FROM some_table; 站点是一个点类型的几何列。如何做到这一点 基本上,some_table中的许多记录共享相同的点几何图形;我只想要一个没有重复的几何体列表。我不关心某些表的其余部分列 我剩下的问题相当简单;它看起来像这样: qs = models.SomeTable.objects.filter(foo='bar',
SELECT DISTINCT ON (site) * FROM some_table;
站点
是一个点
类型的几何列。如何做到这一点
基本上,some_table
中的许多记录共享相同的点
几何图形;我只想要一个没有重复的几何体列表。我不关心某些表的其余部分
列
我剩下的问题相当简单;它看起来像这样:
qs = models.SomeTable.objects.filter(foo='bar', site__contained=some_polygon)
旁注:
SomeTable(SomeTable.objects
)的“管理器”是一个django.contrib.gis.db.models.GeoManger
类型。我不知道这是否有帮助
相关版本信息:
- Django 1.3
- PostgreSQL 9.1.1
- PostGIS 1.5.3
- 我想出来了。我忽略了不同的:
下面是django查询,它正好满足我的需要:
qs = models.SomeTable.objects.filter(foo='bar', site__contained=some_polygon).values('site').distinct()