Browse Source

Add a Reference serializer

Baptiste Jonglez 10 years ago
parent
commit
cc80e70e40
3 changed files with 15 additions and 2 deletions
  1. 10 1
      api/serializers.py
  2. 1 0
      api/urls.py
  3. 4 1
      api/views.py

+ 10 - 1
api/serializers.py

@@ -1,6 +1,6 @@
 from rest_framework import serializers
 
-from panorama.models import Panorama, ReferencePoint
+from panorama.models import Panorama, ReferencePoint, Reference
 
 class PanoramaSerializer(serializers.HyperlinkedModelSerializer):
     # fixme : return absolute URL for tiles_url
@@ -17,3 +17,12 @@ class ReferencePointSerializer(serializers.HyperlinkedModelSerializer):
         fields = ("url", "name",
                   "latitude", "longitude", "altitude")
 
+class ReferenceSerializer(serializers.HyperlinkedModelSerializer):
+    class Meta:
+        model = Reference
+        # fixme: a validator is automatically added (see below) but does
+        # not seem to be respected.
+        # validators =
+        # [<UniqueTogetherValidator(queryset=Reference.objects.all(),
+        # fields=(u'reference_point', u'panorama'))>]
+        fields = ("url", "reference_point", "panorama", "x", "y")

+ 1 - 0
api/urls.py

@@ -5,6 +5,7 @@ from . import views
 router = routers.DefaultRouter()
 router.register(r'panoramas', views.PanoramaViewSet)
 router.register(r'refpoints', views.ReferencePointViewSet)
+router.register(r'references', views.ReferenceViewSet)
 
 urlpatterns = [
     url(r'^', include(router.urls)),

+ 4 - 1
api/views.py

@@ -1,6 +1,6 @@
 from rest_framework import viewsets
 
-from panorama.models import Panorama, ReferencePoint
+from panorama.models import Panorama, ReferencePoint, Reference
 from .serializers import *
 
 class PanoramaViewSet(viewsets.ModelViewSet):
@@ -12,3 +12,6 @@ class ReferencePointViewSet(viewsets.ModelViewSet):
     serializer_class = ReferencePointSerializer
 
 
+class ReferenceViewSet(viewsets.ModelViewSet):
+    queryset = Reference.objects.all()
+    serializer_class = ReferenceSerializer