mirror of
https://github.com/davidhalter/django-stubs.git
synced 2025-12-07 04:34:29 +08:00
add objects to model, trade false positive for false negative
This commit is contained in:
@@ -16,6 +16,7 @@ class Model(metaclass=ModelBase):
|
||||
class Meta: ...
|
||||
_default_manager: Manager[Model]
|
||||
_meta: Options[Any]
|
||||
objects: Manager[Any]
|
||||
pk: Any = ...
|
||||
def __init__(self: _Self, *args, **kwargs) -> None: ...
|
||||
def delete(self, using: Any = ..., keep_parents: bool = ...) -> Tuple[int, Dict[str, int]]: ...
|
||||
|
||||
@@ -172,13 +172,6 @@ class ManyToManyField(RelatedField[_ST, _GT]):
|
||||
description: Any = ...
|
||||
has_null_arg: Any = ...
|
||||
swappable: bool = ...
|
||||
m2m_db_table: str = ...
|
||||
m2m_column_name: str = ...
|
||||
m2m_reverse_name: str = ...
|
||||
m2m_field_name: str = ...
|
||||
m2m_reverse_field_name: str = ...
|
||||
m2m_target_field_name: str = ...
|
||||
m2m_reverse_target_field_name: str = ...
|
||||
def __init__(
|
||||
self,
|
||||
to: Union[Type[_T], str],
|
||||
@@ -217,5 +210,11 @@ class ManyToManyField(RelatedField[_ST, _GT]):
|
||||
def get_path_info(self, filtered_relation: None = ...) -> List[PathInfo]: ...
|
||||
def get_reverse_path_info(self, filtered_relation: None = ...) -> List[PathInfo]: ...
|
||||
def contribute_to_related_class(self, cls: Type[Model], related: RelatedField) -> None: ...
|
||||
def m2m_db_table(self) -> str: ...
|
||||
def m2m_column_name(self) -> str: ...
|
||||
def m2m_reverse_name(self) -> str: ...
|
||||
def m2m_reverse_field_name(self) -> str: ...
|
||||
def m2m_target_field_name(self) -> str: ...
|
||||
def m2m_reverse_target_field_name(self) -> str: ...
|
||||
|
||||
def create_many_to_many_intermediary_model(field: Type[Field], klass: Type[Model]) -> Type[Model]: ...
|
||||
|
||||
@@ -40,7 +40,6 @@ def determine_proper_manager_type(ctx: FunctionContext) -> MypyType:
|
||||
if not outer_model_info.has_base(fullnames.MODEL_CLASS_FULLNAME):
|
||||
return ret
|
||||
|
||||
api = cast(TypeChecker, ctx.api)
|
||||
return helpers.reparametrize_instance(ret, [Instance(outer_model_info, [])])
|
||||
|
||||
|
||||
|
||||
@@ -30,21 +30,6 @@
|
||||
class Child(Parent):
|
||||
pass
|
||||
|
||||
- case: if_manager_is_defined_on_model_do_not_add_objects
|
||||
main: |
|
||||
from myapp.models import MyModel
|
||||
reveal_type(MyModel.authors) # N: Revealed type is 'django.db.models.manager.Manager[myapp.models.MyModel]'
|
||||
MyModel.objects # E: "Type[MyModel]" has no attribute "objects"
|
||||
installed_apps:
|
||||
- myapp
|
||||
files:
|
||||
- path: myapp/__init__.py
|
||||
- path: myapp/models.py
|
||||
content: |
|
||||
from django.db import models
|
||||
class MyModel(models.Model):
|
||||
authors = models.Manager['MyModel']()
|
||||
|
||||
- case: test_model_objects_attribute_present_in_case_of_model_cls_passed_as_generic_parameter
|
||||
main: |
|
||||
from myapp.models import Base, MyModel
|
||||
|
||||
Reference in New Issue
Block a user