Skip to content

Commit

Permalink
workaround django-ninja vs. django 5.1 incompatibility vitalik/django…
Browse files Browse the repository at this point in the history
  • Loading branch information
tykling committed Oct 7, 2024
1 parent e9b48bd commit d9b3a3b
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 0 deletions.
4 changes: 4 additions & 0 deletions src/bma/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,16 @@
from pathlib import Path

import django_stubs_ext
from utils.ninjafix import monkeypatch_ninja_uuid_converter

from .environment_settings import * # noqa: F403

# intialise django_stubs_ext
django_stubs_ext.monkeypatch()

# https://github.com/vitalik/django-ninja/issues/1266
monkeypatch_ninja_uuid_converter()

# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent

Expand Down
23 changes: 23 additions & 0 deletions src/utils/ninjafix.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
"""Workaround https://github.com/vitalik/django-ninja/issues/1266 for now."""
from typing import Any


def monkeypatch_ninja_uuid_converter() -> None:
"""Workaround https://github.com/vitalik/django-ninja/issues/1266 for now."""
import importlib
import sys

import django.urls

module_name = "ninja.signature.utils"
sys.modules.pop(module_name, None)

original_register_converter = django.urls.register_converter

def fake_register_converter(*args: Any, **kwargs: Any) -> None: # noqa: ANN401
pass

django.urls.register_converter = fake_register_converter
importlib.import_module(module_name)

django.urls.register_converter = original_register_converter

0 comments on commit d9b3a3b

Please sign in to comment.