From 1270ba903af0ebe64949889172af51d4c6e61c5f Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Sun, 10 Dec 2023 08:49:32 +0100 Subject: [PATCH] encode/django-rest-framework#9180 --- .github/workflows/pre-commit.yml | 2 +- rest_framework/fields.py | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) 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):