Skip to content

Commit 4232c7e

Browse files
committed
fix subtypes of ModelWithMeta
1 parent 68cd002 commit 4232c7e

File tree

4 files changed

+18
-37
lines changed

4 files changed

+18
-37
lines changed

django-stubs/contrib/auth/base_user.pyi

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ from django.db.models.base import Model
55
from django.db.models.expressions import Combinable
66
from django.db.models.fields import BooleanField
77

8-
from django_stubs_ext.db.models import ModelWithMeta as _ModelWithMeta
8+
from django_stubs_ext.db.models import ModelMeta as _ModelMeta
99

1010
_T = TypeVar("_T", bound=Model)
1111

@@ -15,15 +15,14 @@ class BaseUserManager(models.Manager[_T]):
1515
def make_random_password(self, length: int = ..., allowed_chars: str = ...) -> str: ...
1616
def get_by_natural_key(self, username: str | None) -> _T: ...
1717

18-
class AbstractBaseUser(_ModelWithMeta, models.Model):
18+
class AbstractBaseUser(models.Model):
1919
REQUIRED_FIELDS: ClassVar[list[str]]
2020

2121
password = models.CharField(max_length=128)
2222
last_login = models.DateTimeField(blank=True, null=True)
2323
is_active: bool | BooleanField[bool | Combinable, bool]
2424

25-
class Meta:
26-
abstract: Literal[True]
25+
Meta: ClassVar[type[_ModelMeta]]
2726

2827
def get_username(self) -> str: ...
2928
def natural_key(self) -> tuple[str]: ...

django-stubs/contrib/auth/models.pyi

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ from django.db.models.manager import EmptyManager
1212
from django.utils.functional import _StrOrPromise
1313
from typing_extensions import Self, TypeAlias
1414

15-
from django_stubs_ext.db.models import ModelWithMeta as _ModelWithMeta
15+
from django_stubs_ext.db.models import ModelMeta as _ModelMeta
1616

1717
_AnyUser: TypeAlias = Model | AnonymousUser
1818

@@ -58,13 +58,12 @@ class UserManager(BaseUserManager[_T]):
5858
obj: Model | None = ...,
5959
) -> QuerySet[_T]: ...
6060

61-
class PermissionsMixin(_ModelWithMeta, models.Model):
61+
class PermissionsMixin(models.Model):
6262
is_superuser = models.BooleanField()
6363
groups = models.ManyToManyField(Group)
6464
user_permissions = models.ManyToManyField(Permission)
6565

66-
class Meta:
67-
abstract: Literal[True]
66+
Meta: ClassVar[type[_ModelMeta]]
6867

6968
def get_user_permissions(self, obj: _AnyUser | None = ...) -> set[str]: ...
7069
def get_group_permissions(self, obj: _AnyUser | None = ...) -> set[str]: ...
@@ -73,7 +72,7 @@ class PermissionsMixin(_ModelWithMeta, models.Model):
7372
def has_perms(self, perm_list: Iterable[str], obj: _AnyUser | None = ...) -> bool: ...
7473
def has_module_perms(self, app_label: str) -> bool: ...
7574

76-
class AbstractUser(_ModelWithMeta, AbstractBaseUser, PermissionsMixin):
75+
class AbstractUser(AbstractBaseUser, PermissionsMixin):
7776
username_validator: UnicodeUsernameValidator
7877

7978
username = models.CharField(max_length=150)
@@ -89,8 +88,7 @@ class AbstractUser(_ModelWithMeta, AbstractBaseUser, PermissionsMixin):
8988
EMAIL_FIELD: str
9089
USERNAME_FIELD: str
9190

92-
class Meta:
93-
abstract: Literal[True]
91+
Meta: ClassVar[type[_ModelMeta]]
9492

9593
def get_full_name(self) -> str: ...
9694
def get_short_name(self) -> str: ...

django-stubs/contrib/gis/db/backends/oracle/models.pyi

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,37 +5,29 @@ from django.contrib.gis.db.backends.base.models import SpatialRefSysMixin
55
from django.db.models.manager import Manager
66
from typing_extensions import Self
77

8-
from django_stubs_ext.db.models import ModelWithMeta as _ModelWithMeta
8+
from django_stubs_ext.db.models import ModelMeta as _ModelMeta
99

10-
class OracleGeometryColumns(_ModelWithMeta, models.Model):
10+
class OracleGeometryColumns(models.Model):
1111
table_name: Any
1212
column_name: Any
1313
srid: Any
1414
objects: ClassVar[Manager[Self]]
15-
16-
class Meta:
17-
app_label: str
18-
db_table: str
19-
managed: bool
15+
Meta: ClassVar[type[_ModelMeta]]
2016

2117
@classmethod
2218
def table_name_col(cls) -> Any: ...
2319
@classmethod
2420
def geom_col_name(cls) -> Any: ...
2521

26-
class OracleSpatialRefSys(_ModelWithMeta, models.Model, SpatialRefSysMixin):
22+
class OracleSpatialRefSys(models.Model, SpatialRefSysMixin):
2723
cs_name: Any
2824
srid: Any
2925
auth_srid: Any
3026
auth_name: Any
3127
wktext: Any
3228
cs_bounds: Any
3329
objects: ClassVar[Manager[Self]]
34-
35-
class Meta:
36-
app_label: str
37-
db_table: str
38-
managed: bool
30+
Meta: ClassVar[type[_ModelMeta]]
3931

4032
@property
4133
def wkt(self) -> Any: ...

django-stubs/contrib/gis/db/backends/postgis/models.pyi

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ from django.contrib.gis.db.backends.base.models import SpatialRefSysMixin
44
from django.db import models
55
from typing_extensions import Self
66

7-
from django_stubs_ext.db.models import ModelWithMeta as _ModelWithMeta
7+
from django_stubs_ext.db.models import ModelMeta as _ModelMeta
88

9-
class PostGISGeometryColumns(_ModelWithMeta, models.Model):
9+
class PostGISGeometryColumns(models.Model):
1010
f_table_catalog: Any
1111
f_table_schema: Any
1212
f_table_name: Any
@@ -15,29 +15,21 @@ class PostGISGeometryColumns(_ModelWithMeta, models.Model):
1515
srid: Any
1616
type: Any
1717
objects: ClassVar[models.Manager[Self]]
18-
19-
class Meta:
20-
app_label: str
21-
db_table: str
22-
managed: bool
18+
Meta: ClassVar[type[_ModelMeta]]
2319

2420
@classmethod
2521
def table_name_col(cls) -> Any: ...
2622
@classmethod
2723
def geom_col_name(cls) -> Any: ...
2824

29-
class PostGISSpatialRefSys(_ModelWithMeta, models.Model, SpatialRefSysMixin):
25+
class PostGISSpatialRefSys(models.Model, SpatialRefSysMixin):
3026
srid: Any
3127
auth_name: Any
3228
auth_srid: Any
3329
srtext: Any
3430
proj4text: Any
3531
objects: ClassVar[models.Manager[Self]]
36-
37-
class Meta:
38-
app_label: str
39-
db_table: str
40-
managed: bool
32+
Meta: ClassVar[type[_ModelMeta]]
4133

4234
@property
4335
def wkt(self) -> Any: ...

0 commit comments

Comments
 (0)