Как я могу проверить поле django с помощью одного из двух валидаторов?
Вот код, Я хочу, чтобы ip_address удовлетворял одному из validate_fqdn или validate_ipv4_address.
import re
def validate_fqdn(value):
pattern = re.compile(r'^[a-zA-Z0-9-_]+\.?[a-zA-Z0-9-_]+\.[a-zA-Z0-9-_]+$')
if not pattern.match(value):
raise ValidationError('Provided fqdn is not valid')
return value
class KSerializer(serializers.HyperlinkedModelSerializer):
ip_address = serializers.CharField(max_length = 100, validators = [validate_fqdn, validate_ipv4_address])
Как я могу этого достичь?
Новый валидатор будет делать:
def validate_fqdn_or_ipv4_address(value):
try:
return validate_fqdn(value)
except:
return validate_ipv4_address(value)