diff --git a/beat/web/reports/serializers.py b/beat/web/reports/serializers.py
index 583667fcfdd6f0b476744aa615bc11fd42b197e9..f47c383525ae1dcecf5255c59a0aac896051bb32 100644
--- a/beat/web/reports/serializers.py
+++ b/beat/web/reports/serializers.py
@@ -25,21 +25,18 @@
 #                                                                             #
 ###############################################################################
 
-from django.contrib.auth.models import User, AnonymousUser
 
 from rest_framework import serializers
 
 from .models import Report
 from ..common.models import Contribution
-from ..common.fields import JSONSerializerField
-from ..experiments.models import Experiment
 from ..ui.templatetags.markup import restructuredtext
 from ..common.utils import validate_restructuredtext
 
 import simplejson as json
 
 
-#----------------------------------------------------------
+# ----------------------------------------------------------
 
 
 class BasicReportSerializer(serializers.ModelSerializer):
@@ -58,10 +55,10 @@ class BasicReportSerializer(serializers.ModelSerializer):
 
     class Meta:
         model = Report
-        fields = ['short_description', 'status', 'is_owner', 'accessibility']
+        fields = ["short_description", "status", "is_owner", "accessibility"]
 
     def get_name(self, obj):
-        return '{}/{}'.format(obj.author.username, obj.name)
+        return "{}/{}".format(obj.author.username, obj.name)
 
     def get_author(self, obj):
         return obj.author.username
@@ -77,25 +74,26 @@ class BasicReportSerializer(serializers.ModelSerializer):
 
     def get_status(self, obj):
         if obj.status == Report.EDITABLE:
-            return 'editable'
+            return "editable"
         elif obj.status == Report.LOCKED:
-            return 'locked'
+            return "locked"
         elif obj.status == Report.PUBLISHED:
-            return 'published'
+            return "published"
         else:
-            return 'editable'
+            return "editable"
 
     def get_experiments(self, obj):
         return map(lambda x: x.fullname(), obj.experiments.iterator())
 
     def get_experiment_access_map(self, obj):
-        user = self.context['request'].user
-        access_map = list(map(lambda x: x.accessibility_for(user)[0],
-            obj.experiments.iterator()))
+        user = self.context["request"].user
+        access_map = list(
+            map(lambda x: x.accessibility_for(user)[0], obj.experiments.iterator())
+        )
         return access_map
 
     def get_analyzers_access_map(self, obj):
-        user = self.context['request'].user
+        user = self.context["request"].user
         access_map = list()
         for exp in obj.experiments.iterator():
             # find analyzer
@@ -114,99 +112,136 @@ class BasicReportSerializer(serializers.ModelSerializer):
         d = obj.description
         if len(d) > 0:
             return restructuredtext(d)
-        return ''
+        return ""
 
     def get_add_url(self, obj):
         return obj.get_api_add_url()
 
 
-#----------------------------------------------------------
+# ----------------------------------------------------------
 
 
 class SimpleReportSerializer(BasicReportSerializer):
-
     class Meta(BasicReportSerializer.Meta):
-        fields = ['name', 'number', 'short_description', 'is_owner', 'author','status', 'description', 'creation_date', 'html_description', 'add_url', 'content']
+        fields = [
+            "name",
+            "number",
+            "short_description",
+            "is_owner",
+            "author",
+            "status",
+            "description",
+            "creation_date",
+            "html_description",
+            "add_url",
+            "content",
+        ]
 
 
-#----------------------------------------------------------
+# ----------------------------------------------------------
 
 
 class FullReportSerializer(BasicReportSerializer):
-
-
     class Meta(BasicReportSerializer.Meta):
-        fields = ['name', 'number', 'short_description', 'description', 'is_owner', 'author','status', 'creation_date', 'publication_date', 'experiments', 'analyzer', 'content', 'html_description', 'experiment_access_map', 'analyzers_access_map']
-
-
-#----------------------------------------------------------
+        fields = [
+            "name",
+            "number",
+            "short_description",
+            "description",
+            "is_owner",
+            "author",
+            "status",
+            "creation_date",
+            "publication_date",
+            "experiments",
+            "analyzer",
+            "content",
+            "html_description",
+            "experiment_access_map",
+            "analyzers_access_map",
+        ]
+
+
+# ----------------------------------------------------------
 
 
 class CreatedReportSerializer(BasicReportSerializer):
-
     class Meta(BasicReportSerializer.Meta):
-        fields = ['name',  'short_description', 'experiments']
+        fields = ["name", "short_description", "experiments"]
 
 
-#----------------------------------------------------------
+# ----------------------------------------------------------
 
 
 class UpdatedReportSerializer(BasicReportSerializer):
-
     class Meta(BasicReportSerializer.Meta):
-        fields = ['short_description', 'description', 'experiments', 'content']
+        fields = ["short_description", "description", "experiments", "content"]
 
 
-#----------------------------------------------------------
+# ----------------------------------------------------------
 
 
 class ReportCreationFailedException(Exception):
     pass
 
 
-#----------------------------------------------------------
+# ----------------------------------------------------------
 
 
 class ReportCreationSerializer(serializers.ModelSerializer):
-    content = JSONSerializerField()
+    content = serializers.JSONField()
     experiments = serializers.ListField(child=serializers.CharField())
 
     class Meta:
         model = Report
-        fields = ['name', 'short_description', 'description', 'content', 'experiments']
+        fields = ["name", "short_description", "description", "content", "experiments"]
 
     def create(self, validated_data):
         report = None
-        if 'name' not in validated_data:
-            raise serializers.ValidationError('No name provided')
+        if "name" not in validated_data:
+            raise serializers.ValidationError("No name provided")
         try:
-            report = Report.objects.get(author=self.context['request'].user, name=validated_data['name'])
-        except:
+            report = Report.objects.get(
+                author=self.context["request"].user, name=validated_data["name"]
+            )
+        except Report.DoesNotExist:
             pass
 
         if report is not None:
-            raise serializers.ValidationError('A report with this name already exists')
+            raise serializers.ValidationError("A report with this name already exists")
 
-        (report, self.details) = self.Meta.model.objects.create_object(author=self.context['request'].user, **validated_data)
+        (report, self.details) = self.Meta.model.objects.create_object(
+            author=self.context["request"].user, **validated_data
+        )
         if report is None:
             raise ReportCreationFailedException()
 
         return report
 
     def update(self, instance, validated_data):
-        instance.short_description = validated_data.get('short_description', instance.short_description)
-        instance.description       = validated_data.get('description', instance.description)
-        instance.content           = validated_data.get('content', instance.content)
-        instance.publication_date  = validated_data.get('publication_date', instance.publication_date)
+        instance.short_description = validated_data.get(
+            "short_description", instance.short_description
+        )
+        instance.description = validated_data.get("description", instance.description)
+        instance.content = validated_data.get("content", instance.content)
+        instance.publication_date = validated_data.get(
+            "publication_date", instance.publication_date
+        )
 
         instance.save()
 
-        if 'experiments' in validated_data:
-            experiments         = validated_data.get('experiments', [])
-            current_experiments = map(lambda x: x.fullname(), instance.experiments.iterator())
+        if "experiments" in validated_data:
+            experiments = validated_data.get("experiments", [])
+            current_experiments = map(
+                lambda x: x.fullname(), instance.experiments.iterator()
+            )
 
-            experiments_to_remove = filter(lambda x: x not in experiments, current_experiments)
-            experiments_to_add    = filter(lambda x: x not in current_experiments, experiments)
+            experiments_to_remove = filter(
+                lambda x: x not in experiments, current_experiments
+            )
+            experiments_to_add = filter(
+                lambda x: x not in current_experiments, experiments
+            )
 
             instance.remove_experiments(experiments_to_remove)
 
@@ -234,13 +269,12 @@ class ReportCreationSerializer(serializers.ModelSerializer):
         return serializer.data
 
 
-#----------------------------------------------------------
+# ----------------------------------------------------------
 
 
 class ReportUpdateSerializer(ReportCreationSerializer):
-
     class Meta(ReportCreationSerializer.Meta):
-        fields = ['short_description', 'description', 'content', 'experiments']
+        fields = ["short_description", "description", "content", "experiments"]
 
     def to_representation(self, obj):
         serializer = UpdatedReportSerializer(obj)