mirror of
https://github.com/davidhalter/django-stubs.git
synced 2025-12-11 06:21:58 +08:00
* Fix CI
* Fix CI
* Fix CI
* Fix CI
* APply black
* APply black
* Fix mypy
* Fix mypy errors in django-stubs
* Fix format
* Fix plugin
* Do not patch builtins by default
* Fix mypy
* Only run mypy on 3.10 for now
* Only run mypy on 3.10 for now
* WHAT THE HELL
* Enable strict mode in mypy
* Enable strict mode in mypy
* Fix tests
* Fix tests
* Debug
* Debug
* Fix tests
* Fix tests
* Add TYPE_CHECKING debug
* Caching maybe?
* Caching maybe?
* Try explicit `${{ matrix.python-version }}`
* Remove debug
* Fix typing
* Finally
42 lines
1.6 KiB
Python
42 lines
1.6 KiB
Python
from typing import Any, List, Optional, Tuple, TypeVar, Union, overload
|
|
|
|
from django.db import models
|
|
from django.db.models.base import Model
|
|
from django.db.models.expressions import Combinable
|
|
from django.db.models.fields import BooleanField
|
|
from typing_extensions import Literal
|
|
|
|
_T = TypeVar("_T", bound=Model)
|
|
|
|
class BaseUserManager(models.Manager[_T]):
|
|
@classmethod
|
|
def normalize_email(cls, email: Optional[str]) -> str: ...
|
|
def make_random_password(self, length: int = ..., allowed_chars: str = ...) -> str: ...
|
|
def get_by_natural_key(self, username: Optional[str]) -> _T: ...
|
|
|
|
class AbstractBaseUser(models.Model):
|
|
REQUIRED_FIELDS: List[str] = ...
|
|
|
|
password = models.CharField(max_length=128)
|
|
last_login = models.DateTimeField(blank=True, null=True)
|
|
is_active: Union[bool, BooleanField[Union[bool, Combinable], bool]] = ...
|
|
def get_username(self) -> str: ...
|
|
def natural_key(self) -> Tuple[str]: ...
|
|
@property
|
|
def is_anonymous(self) -> Literal[False]: ...
|
|
@property
|
|
def is_authenticated(self) -> Literal[True]: ...
|
|
def set_password(self, raw_password: Optional[str]) -> None: ...
|
|
def check_password(self, raw_password: str) -> bool: ...
|
|
def set_unusable_password(self) -> None: ...
|
|
def has_usable_password(self) -> bool: ...
|
|
def get_session_auth_hash(self) -> str: ...
|
|
@classmethod
|
|
def get_email_field_name(cls) -> str: ...
|
|
@classmethod
|
|
@overload
|
|
def normalize_username(cls, username: str) -> str: ...
|
|
@classmethod
|
|
@overload
|
|
def normalize_username(cls, username: Any) -> Any: ...
|