enable bunch of folders

This commit is contained in:
Maxim Kurnikov
2019-01-30 21:01:33 +03:00
parent bb2d107e38
commit b1153204d7
22 changed files with 338 additions and 75 deletions

View File

@@ -1,9 +1,30 @@
from typing import Type, Union, TypeVar, Any, Generic, List, Optional, Dict, Callable, Tuple, Sequence, TYPE_CHECKING
from typing import (
Type,
Union,
TypeVar,
Any,
Generic,
List,
Optional,
Dict,
Callable,
Tuple,
Sequence,
TYPE_CHECKING,
Iterable,
)
from uuid import UUID
from django.db import models
from django.db.models import Field, Model, QuerySet
from django.db.models.fields.mixins import FieldCacheMixin
from django.db.models.fields.related_descriptors import (
ReverseManyToOneDescriptor as ReverseManyToOneDescriptor,
ReverseOneToOneDescriptor as ReverseOneToOneDescriptor,
ForwardManyToOneDescriptor as ForwardManyToOneDescriptor,
ForwardOneToOneDescriptor as ForwardOneToOneDescriptor,
)
from django.db.models.fields.reverse_related import ForeignObjectRel as ForeignObjectRel
from django.db.models.query_utils import PathInfo, Q
if TYPE_CHECKING:
@@ -11,6 +32,13 @@ if TYPE_CHECKING:
_T = TypeVar("_T", bound=models.Model)
_Choice = Tuple[Any, str]
_ChoiceNamedGroup = Tuple[str, Iterable[_Choice]]
_FieldChoices = Iterable[Union[_Choice, _ChoiceNamedGroup]]
_ValidatorCallable = Callable[..., None]
_ErrorMessagesToOverride = Dict[str, Any]
class RelatedField(FieldCacheMixin, Field):
one_to_many: bool = ...
one_to_one: bool = ...
@@ -29,12 +57,41 @@ class RelatedField(FieldCacheMixin, Field):
def set_attributes_from_rel(self) -> None: ...
def do_related_class(self, other: Type[Model], cls: Type[Model]) -> None: ...
def get_limit_choices_to(self) -> Dict[str, int]: ...
def formfield(self, **kwargs: Any) -> Field: ...
def related_query_name(self) -> str: ...
@property
def target_field(self) -> Field: ...
class ForeignObject(RelatedField): ...
class ForeignObject(RelatedField):
def __init__(
self,
to: Union[Type[Model], str],
on_delete: Callable[..., None],
from_fields: Sequence[str],
to_fields: Sequence[str],
rel: None = ...,
related_name: Optional[str] = ...,
related_query_name: None = ...,
limit_choices_to: None = ...,
parent_link: bool = ...,
swappable: bool = ...,
verbose_name: Optional[str] = ...,
name: Optional[str] = ...,
primary_key: bool = ...,
unique: bool = ...,
blank: bool = ...,
null: bool = ...,
db_index: bool = ...,
default: Any = ...,
editable: bool = ...,
auto_created: bool = ...,
serialize: bool = ...,
choices: Optional[_FieldChoices] = ...,
help_text: str = ...,
db_column: Optional[str] = ...,
db_tablespace: Optional[str] = ...,
validators: Iterable[_ValidatorCallable] = ...,
error_messages: Optional[_ErrorMessagesToOverride] = ...,
): ...
class ForeignKey(RelatedField, Generic[_T]):
def __init__(self, to: Union[Type[_T], str], on_delete: Any, related_name: str = ..., **kwargs): ...
@@ -80,7 +137,6 @@ class ManyToManyField(RelatedField, Generic[_T]):
m2m_reverse_field_name: Any = ...
m2m_target_field_name: Any = ...
m2m_reverse_target_field_name: Any = ...
def contribute_to_class(self, cls: Type[Model], name: str, **kwargs) -> None: ...
def contribute_to_related_class(self, cls: Type[Model], related: RelatedField) -> None: ...
def set_attributes_from_rel(self) -> None: ...
def value_from_object(self, obj: Model) -> List[Model]: ...