2017-07-12 3 views
2

Mon code django est cassé et pose les éléments suivants AttributeError:Django AttributeError: objet 'GeoQuerySet' n'a pas d'attribut 'mesure'

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

Dans mon code, je tente d'appeler mesure sur un django geoqueryset:

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

Ma version de Django est actuellement 1.10 et a été récemment mise à jour depuis Django 1.9.

Répondre

4

C'est parce que Django deprecated la méthode extent sur GeoQuerySet depuis Django version 1.8. Ceci peut être corrigé en utilisant le ExtentAggregate Function comme ceci:

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

# ... 

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