From 368182414ed1bb0958cbd4aed4b8b20f0c17c2ce Mon Sep 17 00:00:00 2001 From: Daksh Bhayana Date: Sun, 9 Feb 2025 19:59:19 +0530 Subject: [PATCH] Duplicate error msg fix for IP address field --- rest_framework/utils/field_mapping.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/rest_framework/utils/field_mapping.py b/rest_framework/utils/field_mapping.py index fc63f96fe..e04199a5d 100644 --- a/rest_framework/utils/field_mapping.py +++ b/rest_framework/utils/field_mapping.py @@ -207,8 +207,10 @@ def get_field_kwargs(field_name, model_field): if isinstance(model_field, models.GenericIPAddressField): validator_kwarg = [ validator for validator in validator_kwarg - if validator is not validators.validate_ipv46_address + if validator not in [validators.validate_ipv46_address, validators.validate_ipv6_address, validators.validate_ipv4_address] ] + kwargs['protocol'] = getattr(model_field, 'protocol', 'both') + # Our decimal validation is handled in the field code, not validator code. if isinstance(model_field, models.DecimalField): validator_kwarg = [