Django DRF序列化程序。错误未返回';输入有效的IPv4地址。';关于无效的IP条目

Django DRF序列化程序。错误未返回';输入有效的IPv4地址。';关于无效的IP条目,django,django-models,django-rest-framework,Django,Django Models,Django Rest Framework,我有一个使用IPAddressField定义的django模型: class ExampleModel(models.Model): ip = models.IPAddressField('An IP Address') 对于我的API,我为这个模型定义了一个HyperlinkedModelSerializer,它与ViewSet(例外)协同工作。然而,当针对我的API测试create操作时,我并没有收到我通常希望验证的Django表单返回的所有错误。具体地说,如果我将“ip”字段留空

我有一个使用IPAddressField定义的django模型:

class ExampleModel(models.Model):
    ip = models.IPAddressField('An IP Address')
对于我的API,我为这个模型定义了一个HyperlinkedModelSerializer,它与ViewSet(例外)协同工作。然而,当针对我的API测试create操作时,我并没有收到我通常希望验证的Django表单返回的所有错误。具体地说,如果我将“ip”字段留空,我会收到一个错误,正如我预期的那样:

{'ip': [u'This field is required.']}
但是,如果我发布了一个ip地址无效的请求,例如:

{'ip': '10.3.'}
我希望serializer.errors包含一个类似于Django表单验证程序的错误,即:

{'ip': [u'Enter a valid IPv4 address.']}
对此事有何想法、建议或澄清?我是不是对一些显而易见的事实视而不见


我听说汤姆·克里斯蒂出现了,如果你说他的名字三次。Tom Christie、Tom Christie、Tom Christie。

进一步的调查表明,DRF没有IpAddressField,但django验证器可以作为参数传递给序列化器字段。因此,在不添加IPV4地址的情况下验证IPV4地址的操作如下:

from django.core.validators import validate_ipv4_address
...
ip = serializers.CharField(validators=[validate_ipv4_address]