Hello I am trying to generate a GEOJSON output with Djano Rest Framework Gis :
Here is my Models.py
from django.contrib.gis.db import models
from django_autoslug.fields import AutoSlugField
from django_extensions.db.fields import UUIDField
class Location(models.Model):
name = models.CharField(max_length=255)
slug = AutoSlugField(populate_from='name', max_length=255)
uuid = UUIDField(auto=True)
point = models.PointField(help_text="Represented as (longitude, latitude)")
objects = models.GeoManager()
and the serializers.py
from django.forms import widgets
from rest_framework_gis import serializers
from locateMe.models import Location
class LocationSerializer(serializers.GeoFeatureModelSerializer):
class Meta:
model = Location
geo_field = "point"
id_field = "slug"
fields = ('slug', 'uuid')
And I obtain this error :
argument of type 'NoneType' is not iterable
Exception Location: ../rest_framework_gis/serializers.py in from_native, line 115
So I had a look at /rest_framework_gis/serializers.py
def from_native(self, data, files):
"""
Override the parent method to first remove the GeoJSON formatting
"""
if 'features' in data:
_unformatted_data = []
features = data['features']
for feature in features:
_dict = feature["properties"]
geom = { self.opts.geo_field: feature["geometry"] }
_dict.update(geom)
_unformatted_data.append(_dict)
elif 'properties' in data:
_dict = data["properties"]
geom = { self.opts.geo_field: data["geometry"] }
_dict.update(geom)
_unformatted_data = _dict
else:
_unformatted_data = data
data = _unformatted_data
instance = super(GeoFeatureModelSerializer, self).from_native(data, files)
if not self._errors:
return self.full_clean(instance)
It might be obvious but I can't see what is wrong