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

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

我的 django 代码被破坏并引发了以下问题 AttributeError:

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

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

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

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

这是因为 Django deprecated the extent method on GeoQuerySets since Django version 1.8. This can be fixed using the Extent Aggregate Function 是这样的:

from django.contrib.gis.db.models import Extent   

# ...

    if raster and bbox:
        self.extent = qs.aggregate(Extent('geometry')).get(
            'geometry__extent')