def update(self, instance, validated_data):
        meta = validated_data.get('meta')
        status = None
        if meta is not None:
            status = meta.get('status', None)

        location_serializer = LocationContributionSerializer(
            instance.location,
            data=validated_data.pop('location', {}),
            context=self.context,
            partial=True
        )
        if location_serializer.is_valid():
            location_serializer.save()

        return instance.update(
            properties=validated_data.get('properties'),
            updator=self.context.get('user'),
            status=status
        )
Updates an existing observation and returns the instance.
dataset/ETHPy150Open ExCiteS/geokey/geokey/contributions/serializers.py/ContributionSerializer.update