diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index fedfe5d1d..ef75019e4 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -17,7 +17,7 @@ jobs: - uses: actions/setup-python@v5 with: - python-version: "3.9" + python-version: "3.11" - uses: pre-commit/action@v3.0.0 with: diff --git a/rest_framework/fields.py b/rest_framework/fields.py index 0b56fa7fb..d77db6661 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -9,6 +9,7 @@ import re import uuid from collections.abc import Mapping from enum import Enum +from sys import version_info from django.conf import settings from django.core.exceptions import ObjectDoesNotExist @@ -866,7 +867,9 @@ class IPAddressField(CharField): self.protocol = protocol.lower() self.unpack_ipv4 = (self.protocol == 'both') super().__init__(**kwargs) - validators, error_message = ip_address_validators(protocol, self.unpack_ipv4) + validators = ip_address_validators(protocol, self.unpack_ipv4) + if version_info < (3, 12): # encode/django-rest-framework#9180 + validators = validators[0] # Used to return a tuple: validators, error_message self.validators.extend(validators) def to_internal_value(self, data):