from rest_framework import serializers from django.contrib.gis.geos import Point from .models import ObjektSigurnosti class ObjektSigurnostiSerializer(serializers.ModelSerializer): class Meta: model = ObjektSigurnosti fields = '__all__' def create(self, validated_data): lokacija_data = validated_data.pop('lokacija', None) lokacija = Point(lokacija_data['lon'], lokacija_data['lat'], srid=3765) objekt = ObjektSigurnosti.objects.create(lokacija=lokacija, **validated_data) return objekt def to_representation(self, instance): return {'lon': instance.lokacija.x, 'lat': instance.lokacija.y} def update(self, instance, validated_data): lokacija_data = validated_data.pop('lokacija', None) lokacija = Point(lokacija_data['lon'], lokacija_data['lat'], srid=3765) if lokacija_data else None instance.lokacija = lokacija instance.save() return super().update(instance, validated_data)