I have some ModelSerializer like:
class MySerializer(serializers.ModelSerializer):
x = serializers.IntegerField(required=True, write_only=True)
class Meta:
model = MyModel
fields = (...some MyModel fields..., 'x')
x is not a MyModel field.
Problem: when I send request without x in form_data, drf doesn't raise "required" error. Expected: 400 response with message of missed 'x' is required.
I am able to write it by myself, but it looks like undefined behavior or I missed something in docs.
CodePudding user response:
This might help blank is the key for the error messages dict that is applicable for blank fields so originally posted here:
class MySerializer(serializers.ModelSerializer):
x = serializer.IntegerField(required=True, write_only=True)
class Meta:
model = MyModel
fields = (...some MyModel fields..., 'x')
extra_kwargs = {'x': {'error_messages': {'blank': 'New blank error message'}}}
CodePudding user response:
Solved - the problem was in the partial=True
flag.