|
6 | 6 | from collections.abc import Callable, Collection, Generator, Mapping, MutableMapping, Sequence |
7 | 7 | from contextlib import contextmanager |
8 | 8 | from enum import IntEnum, auto |
9 | | -from typing import Any, Generic |
| 9 | +from typing import Any |
10 | 10 |
|
11 | 11 | from django.conf import settings |
12 | 12 | from django.db import models, router |
13 | 13 | from django.db.models import Model |
14 | 14 | from django.db.models.fields import Field |
15 | | -from django.db.models.manager import BaseManager as DjangoBaseManager |
| 15 | +from django.db.models.manager import Manager as DjangoBaseManager |
16 | 16 | from django.db.models.signals import class_prepared, post_delete, post_init, post_save |
17 | 17 | from django.utils.encoding import smart_str |
18 | 18 |
|
@@ -69,7 +69,10 @@ def make_key(model: Any, prefix: str, kwargs: Mapping[str, Model | int | str]) - |
69 | 69 | return f"{prefix}:{model.__name__}:{md5_text(kwargs_bits_str).hexdigest()}" |
70 | 70 |
|
71 | 71 |
|
72 | | -class BaseManager(DjangoBaseManager.from_queryset(BaseQuerySet), Generic[M]): # type: ignore[misc] |
| 72 | +_base_manager_base = DjangoBaseManager.from_queryset(BaseQuerySet, "_base_manager_base") |
| 73 | + |
| 74 | + |
| 75 | +class BaseManager(_base_manager_base[M]): |
73 | 76 | lookup_handlers = {"iexact": lambda x: x.upper()} |
74 | 77 | use_for_related_fields = True |
75 | 78 |
|
|
0 commit comments