Portal/rsconcept/backend/shared/serializers.py

24 lines
782 B
Python

from rest_framework import serializers
import shared.messages as msg
class StrictSerializer(serializers.Serializer):
def to_internal_value(self, data):
extra_keys = set(data.keys()) - set(self.fields.keys())
if extra_keys:
raise serializers.ValidationError({
key: msg.fieldNotAllowed() for key in extra_keys
})
return super().to_internal_value(data)
class StrictModelSerializer(serializers.ModelSerializer):
def to_internal_value(self, data):
extra_keys = set(data.keys()) - set(self.fields.keys())
if extra_keys:
raise serializers.ValidationError({
key: msg.fieldNotAllowed() for key in extra_keys
})
return super().to_internal_value(data)