Hi!
I'm using GenericIPAddressField with explicit protocol as IPv4 (Also reproduces with IPv6) and ModelSerializer. If the input is not an valid IpAddress, DRF generates duplicate(ish) errors.
Repro
from django.db import models
from rest_framework.serializers import ModelSerializer
class A(models.Model):
address = models.GenericIPAddressField(protocol="IPv4") # Also reproduces with `IPv6`
class Meta:
app_label = "main"
class ASerializer(ModelSerializer[A]):
class Meta:
model = A
fields = "__all__"
ser = ASerializer(data={'address': 'not an ip address'})
ser.is_valid(raise_exception=True)
Result
rest_framework.exceptions.ValidationError: {'address': [
ErrorDetail(string='Enter a valid IPv4 address.', code='invalid'),
ErrorDetail(string='Enter a valid IPv4 or IPv6 address.', code='invalid')
]}
The second error message is incorrect
Thanks!
Hi!
I'm using
GenericIPAddressFieldwith explicitprotocolasIPv4(Also reproduces withIPv6) andModelSerializer. If the input is not an valid IpAddress, DRF generates duplicate(ish) errors.Repro
Result
The second error message is incorrect
Thanks!