【问题标题】:SELECT DISTINCT ON (geometry column) equivalent with GeoDjangoSELECT DISTINCT ON(几何列)等效于 GeoDjango
【发布时间】:2012-03-28 21:51:54
【问题描述】:

我正在尝试创建一个与以下 PostgreSQL/PostGIS 查询等效的 Django 查询:

SELECT DISTINCT ON (site) * FROM some_table;

sitePOINT 类型的几何列。如何做到这一点?

基本上,some_table 中的许多记录共享相同的POINT 几何;我只想要一个没有重复的几何列表。我不关心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

【问题讨论】:

    标签: python django postgresql postgis geodjango


    【解决方案1】:

    我想通了。我忽略了distincthttps://docs.djangoproject.com/en/dev/ref/models/querysets/#django.db.models.query.QuerySet.distinct

    这正是我需要的 django 查询:

    qs = models.SomeTable.objects.filter(foo='bar', site__contained=some_polygon).values('site').distinct()
    

    【讨论】:

      猜你喜欢
      • 2021-08-17
      • 2017-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多