【问题标题】:Django AttributeError: 'GeoQuerySet' object has no attribute 'extent'Django AttributeError:“GeoQuerySet”对象没有属性“范围”
【发布时间】:2017-12-16 12:48:31
【问题描述】:

我的 django 代码被破坏并引发以下AttributeError

AttributeError: 'GeoQuerySet' object has no attribute 'extent'

在我的代码中,我尝试在 django geoqueryset 上调用范围:

    if raster and bbox:
        self.extent = qs.extent()

我的 Django 版本目前是 1.10,最近从 Django 1.9 升级。

【问题讨论】:

    标签: python django geo django-1.10


    【解决方案1】:

    这是因为 Django deprecated extent 方法自 Django 版本 1.8 以来在 GeoQuerySets 上。这可以使用Extent Aggregate Function 来修复,如下所示:

    from django.contrib.gis.db.models import Extent   
    
    # ...
    
        if raster and bbox:
            self.extent = qs.aggregate(Extent('geometry')).get(
                'geometry__extent')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-22
      • 2018-02-11
      • 2015-03-24
      • 2018-01-14
      • 2018-07-31
      相关资源
      最近更新 更多