Skip to content

Commit

Permalink
Merge 50a2b7d into 3893e44
Browse files Browse the repository at this point in the history
  • Loading branch information
Shanto committed Feb 5, 2015
2 parents 3893e44 + 50a2b7d commit 1900a47
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 4 deletions.
1 change: 1 addition & 0 deletions .travis.yml
Expand Up @@ -26,6 +26,7 @@ branches:

# command to install requirements
install:
- if [[ $TRAVIS_PYTHON_VERSION == 2.6 ]]; then pip install ordereddict; fi
- pip install $DJANGO
- pip install -r requirements-test.txt
- python setup.py -q install
Expand Down
15 changes: 11 additions & 4 deletions rest_framework_gis/serializers.py
@@ -1,22 +1,29 @@
from collections import OrderedDict
from django.core.exceptions import ImproperlyConfigured
from django.contrib.gis.db.models.fields import GeometryField as django_GeometryField

from rest_framework.serializers import ModelSerializer, ListSerializer, LIST_SERIALIZER_KWARGS
from rest_framework.utils.field_mapping import ClassLookupDict

try:
from collections import OrderedDict
except ImportError:
from ordereddict import OrderedDict

from .fields import GeometryField

_geo_field_mapping = ModelSerializer._field_mapping.mapping
_geo_field_mapping.update({
django_GeometryField: GeometryField
})


class GeoModelSerializer(ModelSerializer):
"""
A subclass of DFR ModelSerializer that adds support
for GeoDjango fields to be serialized as GeoJSON
compatible data
"""
_field_mapping = ClassLookupDict(dict(ModelSerializer._field_mapping.mapping.items() + {
django_GeometryField: GeometryField
}.items()))
_field_mapping = ClassLookupDict(_geo_field_mapping)


class GeoFeatureModelListSerializer(ListSerializer):
Expand Down

0 comments on commit 1900a47

Please sign in to comment.