Python 在与GeoDjango等效的(几何体列)上选择DISTINCT

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',

我正在尝试创建一个Django查询,该查询将执行以下PostgreSQL/PostGIS查询的等效操作:

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()