From 0ec6254be07c7bb14dcc173843797f32d60c164b Mon Sep 17 00:00:00 2001 From: Lisa Scheers Date: Wed, 27 May 2026 18:37:40 +0200 Subject: [PATCH] python3Packages.drf-flex-fields: fix build with djangorestframework 3.17 Backport the import fallback submitted upstream in rsinger86/drf-flex-fields#146. Assisted-by: OpenAI Codex (GPT-5) --- .../drf-flex-fields/default.nix | 5 +++- .../drf-flex-fields/drf-3.17-compat.patch | 23 +++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/python-modules/drf-flex-fields/drf-3.17-compat.patch diff --git a/pkgs/development/python-modules/drf-flex-fields/default.nix b/pkgs/development/python-modules/drf-flex-fields/default.nix index 5309cd811908..51788ad9ea87 100644 --- a/pkgs/development/python-modules/drf-flex-fields/default.nix +++ b/pkgs/development/python-modules/drf-flex-fields/default.nix @@ -39,7 +39,10 @@ buildPythonPackage rec { hash = "sha256-+9ToxCEIDpsA+BK8Uk0VueVjoId41/S93+a716EGvCU="; }; - patches = [ ./django4-compat.patch ]; + patches = [ + ./django4-compat.patch + ./drf-3.17-compat.patch + ]; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/drf-flex-fields/drf-3.17-compat.patch b/pkgs/development/python-modules/drf-flex-fields/drf-3.17-compat.patch new file mode 100644 index 000000000000..789f5bbb08a0 --- /dev/null +++ b/pkgs/development/python-modules/drf-flex-fields/drf-3.17-compat.patch @@ -0,0 +1,23 @@ +Upstream-Status: Submitted [https://github.com/rsinger86/drf-flex-fields/pull/146] + +diff --git a/rest_flex_fields/filter_backends.py b/rest_flex_fields/filter_backends.py +index 5eba44d..1f6461c 100644 +--- a/rest_flex_fields/filter_backends.py ++++ b/rest_flex_fields/filter_backends.py +@@ -4,7 +4,16 @@ from django.core.exceptions import FieldDoesNotExist + from django.db import models + from django.db.models import QuerySet +-from rest_framework.compat import coreapi, coreschema ++try: ++ from rest_framework.compat import coreapi, coreschema ++except ImportError: ++ try: ++ import coreapi ++ import coreschema ++ except ImportError: ++ coreapi = None ++ coreschema = None ++ + from rest_framework.filters import BaseFilterBackend + from rest_framework.request import Request + from rest_framework.viewsets import GenericViewSet