Python extra_kwargs字典中的Django rest框架传递字段错误
我正在自定义序列化程序中SlugField的不存在错误消息,如下所示:Python extra_kwargs字典中的Django rest框架传递字段错误,python,django,django-rest-framework,Python,Django,Django Rest Framework,我正在自定义序列化程序中SlugField的不存在错误消息,如下所示: class PolicyCreateUpdateSerializer(serializers.ModelSerializer): source_ip_group = serializers.SlugRelatedField(queryset=IPGroup.objects.all(), slug_field='name',
class PolicyCreateUpdateSerializer(serializers.ModelSerializer):
source_ip_group = serializers.SlugRelatedField(queryset=IPGroup.objects.all(), slug_field='name',
error_messages={"does_not_exist": "Custom"})
enabled = serializers.BooleanField()
class Meta:
model = Policy
fields = ['id', 'name', 'source_ip_group', 'enabled']
这和预期的一样有效。但是,当我尝试将其添加到类的Meta属性中时,它不起作用
class PolicyCreateUpdateSerializer(serializers.ModelSerializer):
source_ip_group = serializers.SlugRelatedField(queryset=IPGroup.objects.all(), slug_field='name')
enabled = serializers.BooleanField()
class Meta:
model = Policy
fields = ['id', 'name', 'source_ip_group', 'enabled']
extra_kwargs = {'source_ip_group': {"error_messages": {"does_not_exist": "Custom"}}}
我做错了什么?明确提及该字段将被使用,并将忽略该字段的任何额外的
标记
Ref:所以我无法传递额外的\u kwargs?我认为在使用声明字段时忽略额外的\u kwargs
的逻辑是因为如果您自己声明字段,那么您可以提及所有需要覆盖的内容,而额外的\u kwargs
用于覆盖字段的一部分,不是全部。