mirror of
https://github.com/davidhalter/django-stubs.git
synced 2025-12-16 00:37:11 +08:00
fix problem with TypeVar bound to Model passed as a parameter
This commit is contained in:
@@ -21,12 +21,6 @@ class Permission(models.Model):
|
||||
name: str = ...
|
||||
content_type: Any = ...
|
||||
codename: str = ...
|
||||
objects: Any = ...
|
||||
class Meta:
|
||||
verbose_name: Any = ...
|
||||
verbose_name_plural: Any = ...
|
||||
unique_together: Any = ...
|
||||
ordering: Any = ...
|
||||
def natural_key(self) -> Tuple[str, str, str]: ...
|
||||
|
||||
class GroupManager(models.Manager):
|
||||
@@ -40,10 +34,6 @@ class Group(models.Model):
|
||||
id: None
|
||||
name: str = ...
|
||||
permissions: Any = ...
|
||||
objects: Any = ...
|
||||
class Meta:
|
||||
verbose_name: Any = ...
|
||||
verbose_name_plural: Any = ...
|
||||
def natural_key(self): ...
|
||||
|
||||
class UserManager(BaseUserManager):
|
||||
@@ -77,7 +67,6 @@ class AbstractUser(AbstractBaseUser, PermissionsMixin):
|
||||
email: str = ...
|
||||
is_staff: bool = ...
|
||||
date_joined: datetime.datetime = ...
|
||||
objects: Any = ...
|
||||
EMAIL_FIELD: str = ...
|
||||
USERNAME_FIELD: str = ...
|
||||
def clean(self) -> None: ...
|
||||
@@ -85,9 +74,7 @@ class AbstractUser(AbstractBaseUser, PermissionsMixin):
|
||||
def get_short_name(self) -> str: ...
|
||||
def email_user(self, subject: str, message: str, from_email: str = ..., **kwargs: Any) -> None: ...
|
||||
|
||||
class User(AbstractUser):
|
||||
class Meta(AbstractUser.Meta):
|
||||
swappable: str = ...
|
||||
class User(AbstractUser): ...
|
||||
|
||||
class AnonymousUser:
|
||||
id: Any = ...
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
from typing import Any, List, Optional, Set, Tuple, Dict
|
||||
|
||||
class ModelBase(type):
|
||||
pass
|
||||
from django.db.models.manager import Manager
|
||||
|
||||
class ModelBase(type): ...
|
||||
|
||||
class Model(metaclass=ModelBase):
|
||||
class DoesNotExist(Exception):
|
||||
pass
|
||||
pk: Any = ...
|
||||
objects: Manager[Model]
|
||||
def __init__(self, **kwargs) -> None: ...
|
||||
def delete(self, using: Any = ..., keep_parents: bool = ...) -> Tuple[int, Dict[str, int]]: ...
|
||||
def full_clean(self, exclude: Optional[List[str]] = ..., validate_unique: bool = ...) -> None: ...
|
||||
|
||||
@@ -3,7 +3,7 @@ from typing import Any, Dict, List, Optional, Tuple, Type, TypeVar
|
||||
from django.db.models.base import Model
|
||||
from django.db.models.query import QuerySet
|
||||
|
||||
_T = TypeVar("_T", bound=Model)
|
||||
_T = TypeVar("_T", bound=Model, covariant=True)
|
||||
|
||||
class BaseManager(QuerySet[_T]):
|
||||
creation_counter: int = ...
|
||||
@@ -24,7 +24,7 @@ class BaseManager(QuerySet[_T]):
|
||||
class Manager(BaseManager[_T]): ...
|
||||
|
||||
class RelatedManager(Manager[_T]):
|
||||
def add(self, *objs: _T, bulk: bool = ...) -> None: ...
|
||||
def add(self, *objs: Model, bulk: bool = ...) -> None: ...
|
||||
def clear(self) -> None: ...
|
||||
|
||||
class ManagerDescriptor:
|
||||
|
||||
@@ -6,7 +6,7 @@ from django.db import models
|
||||
from django.db.models import Manager
|
||||
from django.db.models.sql.query import Query, RawQuery
|
||||
|
||||
_T = TypeVar("_T", bound=models.Model)
|
||||
_T = TypeVar("_T", bound=models.Model, covariant=True)
|
||||
|
||||
class QuerySet(Iterable[_T], Sized):
|
||||
def __init__(
|
||||
|
||||
Reference in New Issue
Block a user