mirror of
https://github.com/davidhalter/django-stubs.git
synced 2026-02-21 00:58:29 +08:00
Bump mypy 0.950 (#939)
* Bump mypy to 0.95x * Remove the * for inferred types There was an upstream change (https://github.com/python/mypy/pull/12459) to remove * from inferred types in the reveal_type output. As we are asserting the * to exist, all the test cases are now failing on the 0.950 release. Removing the expected * to mirror the upstream behaviour change should resolve the test failures.
This commit is contained in:
@@ -122,10 +122,10 @@
|
||||
reveal_type(qs) # N: Revealed type is "django.db.models.query._QuerySet[django_stubs_ext.WithAnnotations[myapp__models__User, TypedDict({'foo': Any})], django_stubs_ext.WithAnnotations[myapp__models__User, TypedDict({'foo': Any})]]"
|
||||
|
||||
annotated = qs.get()
|
||||
reveal_type(annotated) # N: Revealed type is "django_stubs_ext.WithAnnotations[myapp__models__User, TypedDict({'foo': Any})]*"
|
||||
reveal_type(annotated) # N: Revealed type is "django_stubs_ext.WithAnnotations[myapp__models__User, TypedDict({'foo': Any})]"
|
||||
reveal_type(annotated.foo) # N: Revealed type is "Any"
|
||||
print(annotated.bar) # E: "WithAnnotations[myapp__models__User, TypedDict({'foo': Any})]" has no attribute "bar"
|
||||
reveal_type(annotated.username) # N: Revealed type is "builtins.str*"
|
||||
reveal_type(annotated.username) # N: Revealed type is "builtins.str"
|
||||
|
||||
installed_apps:
|
||||
- myapp
|
||||
@@ -196,10 +196,10 @@
|
||||
qs = User.objects.annotate(foo=F('id'))
|
||||
qs = qs.annotate(bar=F('id'))
|
||||
annotated = qs.get()
|
||||
reveal_type(annotated) # N: Revealed type is "django_stubs_ext.WithAnnotations[myapp__models__User, TypedDict({'foo': Any, 'bar': Any})]*"
|
||||
reveal_type(annotated) # N: Revealed type is "django_stubs_ext.WithAnnotations[myapp__models__User, TypedDict({'foo': Any, 'bar': Any})]"
|
||||
reveal_type(annotated.foo) # N: Revealed type is "Any"
|
||||
reveal_type(annotated.bar) # N: Revealed type is "Any"
|
||||
reveal_type(annotated.username) # N: Revealed type is "builtins.str*"
|
||||
reveal_type(annotated.username) # N: Revealed type is "builtins.str"
|
||||
installed_apps:
|
||||
- myapp
|
||||
files:
|
||||
@@ -280,19 +280,19 @@
|
||||
|
||||
values_list_flat_known = Blog.objects.annotate(foo=F('id')).values_list('text', flat=True).get()
|
||||
# Even though it's annotated, we still know the lookup's type.
|
||||
reveal_type(values_list_flat_known) # N: Revealed type is "builtins.str*"
|
||||
reveal_type(values_list_flat_known) # N: Revealed type is "builtins.str"
|
||||
values_list_flat_unknown = Blog.objects.annotate(foo=F('id')).values_list('foo', flat=True).get()
|
||||
# We don't know the type of an unknown lookup
|
||||
reveal_type(values_list_flat_unknown) # N: Revealed type is "Any"
|
||||
|
||||
values_no_params = Blog.objects.annotate(foo=F('id')).values().get()
|
||||
reveal_type(values_no_params) # N: Revealed type is "builtins.dict*[builtins.str, Any]"
|
||||
reveal_type(values_no_params) # N: Revealed type is "builtins.dict[builtins.str, Any]"
|
||||
|
||||
values_list_no_params = Blog.objects.annotate(foo=F('id')).values_list().get()
|
||||
reveal_type(values_list_no_params) # N: Revealed type is "builtins.tuple*[Any, ...]"
|
||||
reveal_type(values_list_no_params) # N: Revealed type is "builtins.tuple[Any, ...]"
|
||||
|
||||
values_list_flat_no_params = Blog.objects.annotate(foo=F('id')).values_list(flat=True).get()
|
||||
reveal_type(values_list_flat_no_params) # N: Revealed type is "builtins.int*"
|
||||
reveal_type(values_list_flat_no_params) # N: Revealed type is "builtins.int"
|
||||
|
||||
values_list_named_no_params = Blog.objects.annotate(foo=F('id')).values_list(named=True).get()
|
||||
reveal_type(values_list_named_no_params.foo) # N: Revealed type is "Any"
|
||||
@@ -324,13 +324,13 @@
|
||||
|
||||
|
||||
before_values_no_params = Blog.objects.values().annotate(foo=F('id')).get()
|
||||
reveal_type(before_values_no_params) # N: Revealed type is "builtins.dict*[builtins.str, Any]"
|
||||
reveal_type(before_values_no_params) # N: Revealed type is "builtins.dict[builtins.str, Any]"
|
||||
|
||||
before_values_list_no_params = Blog.objects.values_list().annotate(foo=F('id')).get()
|
||||
reveal_type(before_values_list_no_params) # N: Revealed type is "builtins.tuple*[Any, ...]"
|
||||
reveal_type(before_values_list_no_params) # N: Revealed type is "builtins.tuple[Any, ...]"
|
||||
|
||||
before_values_list_flat_no_params = Blog.objects.values_list(flat=True).annotate(foo=F('id')).get()
|
||||
reveal_type(before_values_list_flat_no_params) # N: Revealed type is "builtins.int*"
|
||||
reveal_type(before_values_list_flat_no_params) # N: Revealed type is "builtins.int"
|
||||
|
||||
before_values_list_named_no_params = Blog.objects.values_list(named=True).annotate(foo=F('id')).get()
|
||||
reveal_type(before_values_list_named_no_params.foo) # N: Revealed type is "Any"
|
||||
|
||||
@@ -4,24 +4,24 @@
|
||||
from myapp.models import Blog
|
||||
|
||||
qs = Blog.objects.all()
|
||||
reveal_type(qs) # N: Revealed type is "django.db.models.query._QuerySet[myapp.models.Blog*, myapp.models.Blog*]"
|
||||
reveal_type(qs.get(id=1)) # N: Revealed type is "myapp.models.Blog*"
|
||||
reveal_type(iter(qs)) # N: Revealed type is "typing.Iterator*[myapp.models.Blog*]"
|
||||
reveal_type(qs.iterator()) # N: Revealed type is "typing.Iterator[myapp.models.Blog*]"
|
||||
reveal_type(qs.first()) # N: Revealed type is "Union[myapp.models.Blog*, None]"
|
||||
reveal_type(qs.earliest()) # N: Revealed type is "myapp.models.Blog*"
|
||||
reveal_type(qs[0]) # N: Revealed type is "myapp.models.Blog*"
|
||||
reveal_type(qs) # N: Revealed type is "django.db.models.query._QuerySet[myapp.models.Blog, myapp.models.Blog]"
|
||||
reveal_type(qs.get(id=1)) # N: Revealed type is "myapp.models.Blog"
|
||||
reveal_type(iter(qs)) # N: Revealed type is "typing.Iterator[myapp.models.Blog]"
|
||||
reveal_type(qs.iterator()) # N: Revealed type is "typing.Iterator[myapp.models.Blog]"
|
||||
reveal_type(qs.first()) # N: Revealed type is "Union[myapp.models.Blog, None]"
|
||||
reveal_type(qs.earliest()) # N: Revealed type is "myapp.models.Blog"
|
||||
reveal_type(qs[0]) # N: Revealed type is "myapp.models.Blog"
|
||||
reveal_type(qs[:9]) # N: Revealed type is "django.db.models.query._QuerySet[myapp.models.Blog, myapp.models.Blog]"
|
||||
reveal_type(qs.create()) # N: Revealed type is "myapp.models.Blog*"
|
||||
reveal_type(qs.get_or_create()) # N: Revealed type is "Tuple[myapp.models.Blog*, builtins.bool]"
|
||||
reveal_type(qs.create()) # N: Revealed type is "myapp.models.Blog"
|
||||
reveal_type(qs.get_or_create()) # N: Revealed type is "Tuple[myapp.models.Blog, builtins.bool]"
|
||||
reveal_type(qs.exists()) # N: Revealed type is "builtins.bool"
|
||||
reveal_type(qs.none()) # N: Revealed type is "django.db.models.query._QuerySet[myapp.models.Blog, myapp.models.Blog]"
|
||||
reveal_type(qs.update_or_create()) # N: Revealed type is "Tuple[myapp.models.Blog*, builtins.bool]"
|
||||
reveal_type(qs.update_or_create()) # N: Revealed type is "Tuple[myapp.models.Blog, builtins.bool]"
|
||||
reveal_type(qs.explain()) # N: Revealed type is "builtins.str"
|
||||
reveal_type(qs.raw(qs.explain())) # N: Revealed type is "django.db.models.query.RawQuerySet[Any]"
|
||||
# .dates / .datetimes
|
||||
reveal_type(Blog.objects.dates("created_at", "day")) # N: Revealed type is "django.db.models.query._QuerySet[myapp.models.Blog*, datetime.date]"
|
||||
reveal_type(Blog.objects.datetimes("created_at", "day")) # N: Revealed type is "django.db.models.query._QuerySet[myapp.models.Blog*, datetime.datetime]"
|
||||
reveal_type(Blog.objects.dates("created_at", "day")) # N: Revealed type is "django.db.models.query._QuerySet[myapp.models.Blog, datetime.date]"
|
||||
reveal_type(Blog.objects.datetimes("created_at", "day")) # N: Revealed type is "django.db.models.query._QuerySet[myapp.models.Blog, datetime.datetime]"
|
||||
|
||||
# AND-ing QuerySets
|
||||
reveal_type(Blog.objects.all() & Blog.objects.all()) # N: Revealed type is "django.db.models.query._QuerySet[myapp.models.Blog, myapp.models.Blog]"
|
||||
@@ -29,9 +29,9 @@
|
||||
# bulk methods
|
||||
reveal_type(qs.count()) # N: Revealed type is "builtins.int"
|
||||
reveal_type(qs.update(created_at=timezone.now())) # N: Revealed type is "builtins.int"
|
||||
reveal_type(qs.in_bulk()) # N: Revealed type is "builtins.dict[Any, myapp.models.Blog*]"
|
||||
reveal_type(qs.in_bulk()) # N: Revealed type is "builtins.dict[Any, myapp.models.Blog]"
|
||||
reveal_type(qs.bulk_update(list(qs), fields=["created_at"])) # N: Revealed type is "builtins.int"
|
||||
reveal_type(qs.bulk_create([])) # N: Revealed type is "builtins.list[myapp.models.Blog*]"
|
||||
reveal_type(qs.bulk_create([])) # N: Revealed type is "builtins.list[myapp.models.Blog]"
|
||||
reveal_type(qs.delete()) # N: Revealed type is "Tuple[builtins.int, builtins.dict[builtins.str, builtins.int]]"
|
||||
installed_apps:
|
||||
- myapp
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
main: |
|
||||
from myapp.models import MyModel
|
||||
reveal_type(MyModel().objects) # N: Revealed type is "myapp.models.NewManager[myapp.models.MyModel]"
|
||||
reveal_type(MyModel().objects.get()) # N: Revealed type is "myapp.models.MyModel*"
|
||||
reveal_type(MyModel().objects.get()) # N: Revealed type is "myapp.models.MyModel"
|
||||
reveal_type(MyModel().objects.queryset_method()) # N: Revealed type is "builtins.str"
|
||||
reveal_type(MyModel.objects.filter(id=1).queryset_method()) # N: Revealed type is "builtins.str"
|
||||
reveal_type(MyModel.objects.filter(id=1)) # N: Revealed type is "myapp.models.ModelQuerySet[myapp.models.MyModel*]"
|
||||
reveal_type(MyModel.objects.filter(id=1)) # N: Revealed type is "myapp.models.ModelQuerySet[myapp.models.MyModel]"
|
||||
installed_apps:
|
||||
- myapp
|
||||
files:
|
||||
@@ -27,13 +27,13 @@
|
||||
from myapp.models import MyModel
|
||||
reveal_type(MyModel.objects) # N: Revealed type is "myapp.models.NewManager[myapp.models.MyModel]"
|
||||
reveal_type(MyModel.objects) # N: Revealed type is "myapp.models.NewManager[myapp.models.MyModel]"
|
||||
reveal_type(MyModel.objects.get()) # N: Revealed type is "myapp.models.MyModel*"
|
||||
reveal_type(MyModel.objects.get()) # N: Revealed type is "myapp.models.MyModel"
|
||||
reveal_type(MyModel.objects.queryset_method()) # N: Revealed type is "myapp.querysets.ModelQuerySet"
|
||||
reveal_type(MyModel.objects.queryset_method_2()) # N: Revealed type is "typing.Iterable[myapp.querysets.Custom]"
|
||||
reveal_type(MyModel.objects.queryset_method_3()) # N: Revealed type is "builtins.str"
|
||||
reveal_type(MyModel.objects.queryset_method_4([])) # N: Revealed type is "None"
|
||||
reveal_type(MyModel.objects.filter(id=1).queryset_method()) # N: Revealed type is "myapp.querysets.ModelQuerySet"
|
||||
reveal_type(MyModel.objects.filter(id=1)) # N: Revealed type is "myapp.querysets.ModelQuerySet[myapp.models.MyModel*]"
|
||||
reveal_type(MyModel.objects.filter(id=1)) # N: Revealed type is "myapp.querysets.ModelQuerySet[myapp.models.MyModel]"
|
||||
installed_apps:
|
||||
- myapp
|
||||
files:
|
||||
@@ -75,7 +75,7 @@
|
||||
main: |
|
||||
from myapp.models import MyModel
|
||||
reveal_type(MyModel().objects) # N: Revealed type is "myapp.models.NewManager[myapp.models.MyModel]"
|
||||
reveal_type(MyModel().objects.get()) # N: Revealed type is "myapp.models.MyModel*"
|
||||
reveal_type(MyModel().objects.get()) # N: Revealed type is "myapp.models.MyModel"
|
||||
reveal_type(MyModel().objects.queryset_method()) # N: Revealed type is "builtins.str"
|
||||
installed_apps:
|
||||
- myapp
|
||||
@@ -149,7 +149,7 @@
|
||||
main: |
|
||||
from myapp.models import MyModel
|
||||
reveal_type(MyModel().objects) # N: Revealed type is "myapp.models.NewManager[myapp.models.MyModel]"
|
||||
reveal_type(MyModel().objects.get()) # N: Revealed type is "myapp.models.MyModel*"
|
||||
reveal_type(MyModel().objects.get()) # N: Revealed type is "myapp.models.MyModel"
|
||||
reveal_type(MyModel().objects.queryset_method()) # N: Revealed type is "builtins.str"
|
||||
installed_apps:
|
||||
- myapp
|
||||
@@ -173,7 +173,7 @@
|
||||
main: |
|
||||
from myapp.models import MyModel
|
||||
reveal_type(MyModel().objects) # N: Revealed type is "myapp.managers.NewManager[myapp.models.MyModel]"
|
||||
reveal_type(MyModel().objects.get()) # N: Revealed type is "myapp.models.MyModel*"
|
||||
reveal_type(MyModel().objects.get()) # N: Revealed type is "myapp.models.MyModel"
|
||||
reveal_type(MyModel().objects.queryset_method) # N: Revealed type is "def (param: Union[builtins.str, None] =) -> Union[builtins.str, None]"
|
||||
reveal_type(MyModel().objects.queryset_method('str')) # N: Revealed type is "Union[builtins.str, None]"
|
||||
installed_apps:
|
||||
@@ -203,7 +203,7 @@
|
||||
main: |
|
||||
from myapp.models import MyModel
|
||||
reveal_type(MyModel().objects) # N: Revealed type is "myapp.managers.NewManager[myapp.models.MyModel]"
|
||||
reveal_type(MyModel().objects.get()) # N: Revealed type is "myapp.models.MyModel*"
|
||||
reveal_type(MyModel().objects.get()) # N: Revealed type is "myapp.models.MyModel"
|
||||
reveal_type(MyModel().objects.base_queryset_method) # N: Revealed type is "def (param: Union[builtins.int, builtins.str]) -> <nothing>"
|
||||
reveal_type(MyModel().objects.base_queryset_method(2)) # N: Revealed type is "<nothing>"
|
||||
installed_apps:
|
||||
@@ -350,25 +350,25 @@
|
||||
- case: from_queryset_includes_methods_returning_queryset
|
||||
main: |
|
||||
from myapp.models import MyModel
|
||||
reveal_type(MyModel.objects.none) # N: Revealed type is "def () -> myapp.models.MyQuerySet[myapp.models.MyModel*]"
|
||||
reveal_type(MyModel.objects.all) # N: Revealed type is "def () -> myapp.models.MyQuerySet[myapp.models.MyModel*]"
|
||||
reveal_type(MyModel.objects.filter) # N: Revealed type is "def (*args: Any, **kwargs: Any) -> myapp.models.MyQuerySet[myapp.models.MyModel*]"
|
||||
reveal_type(MyModel.objects.exclude) # N: Revealed type is "def (*args: Any, **kwargs: Any) -> myapp.models.MyQuerySet[myapp.models.MyModel*]"
|
||||
reveal_type(MyModel.objects.complex_filter) # N: Revealed type is "def (filter_obj: Any) -> myapp.models.MyQuerySet[myapp.models.MyModel*]"
|
||||
reveal_type(MyModel.objects.union) # N: Revealed type is "def (*other_qs: Any, *, all: builtins.bool =) -> myapp.models.MyQuerySet[myapp.models.MyModel*]"
|
||||
reveal_type(MyModel.objects.intersection) # N: Revealed type is "def (*other_qs: Any) -> myapp.models.MyQuerySet[myapp.models.MyModel*]"
|
||||
reveal_type(MyModel.objects.difference) # N: Revealed type is "def (*other_qs: Any) -> myapp.models.MyQuerySet[myapp.models.MyModel*]"
|
||||
reveal_type(MyModel.objects.select_for_update) # N: Revealed type is "def (nowait: builtins.bool =, skip_locked: builtins.bool =, of: typing.Sequence[builtins.str] =, no_key: builtins.bool =) -> myapp.models.MyQuerySet[myapp.models.MyModel*]"
|
||||
reveal_type(MyModel.objects.select_related) # N: Revealed type is "def (*fields: Any) -> myapp.models.MyQuerySet[myapp.models.MyModel*]"
|
||||
reveal_type(MyModel.objects.prefetch_related) # N: Revealed type is "def (*lookups: Any) -> myapp.models.MyQuerySet[myapp.models.MyModel*]"
|
||||
reveal_type(MyModel.objects.annotate) # N: Revealed type is "def (*args: Any, **kwargs: Any) -> myapp.models.MyQuerySet[myapp.models.MyModel*]"
|
||||
reveal_type(MyModel.objects.alias) # N: Revealed type is "def (*args: Any, **kwargs: Any) -> myapp.models.MyQuerySet[myapp.models.MyModel*]"
|
||||
reveal_type(MyModel.objects.order_by) # N: Revealed type is "def (*field_names: Any) -> myapp.models.MyQuerySet[myapp.models.MyModel*]"
|
||||
reveal_type(MyModel.objects.distinct) # N: Revealed type is "def (*field_names: Any) -> myapp.models.MyQuerySet[myapp.models.MyModel*]"
|
||||
reveal_type(MyModel.objects.reverse) # N: Revealed type is "def () -> myapp.models.MyQuerySet[myapp.models.MyModel*]"
|
||||
reveal_type(MyModel.objects.defer) # N: Revealed type is "def (*fields: Any) -> myapp.models.MyQuerySet[myapp.models.MyModel*]"
|
||||
reveal_type(MyModel.objects.only) # N: Revealed type is "def (*fields: Any) -> myapp.models.MyQuerySet[myapp.models.MyModel*]"
|
||||
reveal_type(MyModel.objects.using) # N: Revealed type is "def (alias: Union[builtins.str, None]) -> myapp.models.MyQuerySet[myapp.models.MyModel*]"
|
||||
reveal_type(MyModel.objects.none) # N: Revealed type is "def () -> myapp.models.MyQuerySet[myapp.models.MyModel]"
|
||||
reveal_type(MyModel.objects.all) # N: Revealed type is "def () -> myapp.models.MyQuerySet[myapp.models.MyModel]"
|
||||
reveal_type(MyModel.objects.filter) # N: Revealed type is "def (*args: Any, **kwargs: Any) -> myapp.models.MyQuerySet[myapp.models.MyModel]"
|
||||
reveal_type(MyModel.objects.exclude) # N: Revealed type is "def (*args: Any, **kwargs: Any) -> myapp.models.MyQuerySet[myapp.models.MyModel]"
|
||||
reveal_type(MyModel.objects.complex_filter) # N: Revealed type is "def (filter_obj: Any) -> myapp.models.MyQuerySet[myapp.models.MyModel]"
|
||||
reveal_type(MyModel.objects.union) # N: Revealed type is "def (*other_qs: Any, *, all: builtins.bool =) -> myapp.models.MyQuerySet[myapp.models.MyModel]"
|
||||
reveal_type(MyModel.objects.intersection) # N: Revealed type is "def (*other_qs: Any) -> myapp.models.MyQuerySet[myapp.models.MyModel]"
|
||||
reveal_type(MyModel.objects.difference) # N: Revealed type is "def (*other_qs: Any) -> myapp.models.MyQuerySet[myapp.models.MyModel]"
|
||||
reveal_type(MyModel.objects.select_for_update) # N: Revealed type is "def (nowait: builtins.bool =, skip_locked: builtins.bool =, of: typing.Sequence[builtins.str] =, no_key: builtins.bool =) -> myapp.models.MyQuerySet[myapp.models.MyModel]"
|
||||
reveal_type(MyModel.objects.select_related) # N: Revealed type is "def (*fields: Any) -> myapp.models.MyQuerySet[myapp.models.MyModel]"
|
||||
reveal_type(MyModel.objects.prefetch_related) # N: Revealed type is "def (*lookups: Any) -> myapp.models.MyQuerySet[myapp.models.MyModel]"
|
||||
reveal_type(MyModel.objects.annotate) # N: Revealed type is "def (*args: Any, **kwargs: Any) -> myapp.models.MyQuerySet[myapp.models.MyModel]"
|
||||
reveal_type(MyModel.objects.alias) # N: Revealed type is "def (*args: Any, **kwargs: Any) -> myapp.models.MyQuerySet[myapp.models.MyModel]"
|
||||
reveal_type(MyModel.objects.order_by) # N: Revealed type is "def (*field_names: Any) -> myapp.models.MyQuerySet[myapp.models.MyModel]"
|
||||
reveal_type(MyModel.objects.distinct) # N: Revealed type is "def (*field_names: Any) -> myapp.models.MyQuerySet[myapp.models.MyModel]"
|
||||
reveal_type(MyModel.objects.reverse) # N: Revealed type is "def () -> myapp.models.MyQuerySet[myapp.models.MyModel]"
|
||||
reveal_type(MyModel.objects.defer) # N: Revealed type is "def (*fields: Any) -> myapp.models.MyQuerySet[myapp.models.MyModel]"
|
||||
reveal_type(MyModel.objects.only) # N: Revealed type is "def (*fields: Any) -> myapp.models.MyQuerySet[myapp.models.MyModel]"
|
||||
reveal_type(MyModel.objects.using) # N: Revealed type is "def (alias: Union[builtins.str, None]) -> myapp.models.MyQuerySet[myapp.models.MyModel]"
|
||||
installed_apps:
|
||||
- myapp
|
||||
files:
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
reveal_type(query.all().get()) # N: Revealed type is "Tuple[builtins.str]"
|
||||
reveal_type(query.filter(age__gt=16).get()) # N: Revealed type is "Tuple[builtins.str]"
|
||||
reveal_type(query.exclude(age__lte=16).get()) # N: Revealed type is "Tuple[builtins.str]"
|
||||
reveal_type(query.annotate(name_length=Length("name")).get()) # N: Revealed type is "builtins.tuple*[Any, ...]"
|
||||
reveal_type(query.annotate(name_length=Length("name")).get()) # N: Revealed type is "builtins.tuple[Any, ...]"
|
||||
installed_apps:
|
||||
- myapp
|
||||
files:
|
||||
@@ -79,12 +79,12 @@
|
||||
- case: values_list_flat_true_methods
|
||||
main: |
|
||||
from myapp.models import MyUser, MyUser2
|
||||
reveal_type(MyUser.objects.values_list('name', flat=True).get()) # N: Revealed type is "builtins.str*"
|
||||
reveal_type(MyUser.objects.values_list('name', flat=True).get()) # N: Revealed type is "builtins.str"
|
||||
reveal_type(MyUser.objects.values_list('name', 'age', flat=True).get())
|
||||
|
||||
# flat=True without specified fields returns primary key values
|
||||
reveal_type(MyUser.objects.values_list(flat=True)[0]) # N: Revealed type is "builtins.int*"
|
||||
reveal_type(MyUser2.objects.values_list(flat=True)[0]) # N: Revealed type is "builtins.str*"
|
||||
reveal_type(MyUser.objects.values_list(flat=True)[0]) # N: Revealed type is "builtins.int"
|
||||
reveal_type(MyUser2.objects.values_list(flat=True)[0]) # N: Revealed type is "builtins.str"
|
||||
out: |
|
||||
main:3: error: 'flat' is not valid when 'values_list' is called with more than one field
|
||||
main:3: note: Revealed type is "Any"
|
||||
@@ -217,7 +217,7 @@
|
||||
reveal_type(Blog.objects.values_list('id', flat=True)) # N: Revealed type is "django.db.models.query._QuerySet[myapp.models.Blog, builtins.int]"
|
||||
reveal_type(Blog.objects.values_list('publisher_id', flat=True)) # N: Revealed type is "django.db.models.query._QuerySet[myapp.models.Blog, builtins.int]"
|
||||
# is Iterable[int]
|
||||
reveal_type(list(Blog.objects.values_list('id', flat=True))) # N: Revealed type is "builtins.list[builtins.int*]"
|
||||
reveal_type(list(Blog.objects.values_list('id', flat=True))) # N: Revealed type is "builtins.list[builtins.int]"
|
||||
installed_apps:
|
||||
- myapp
|
||||
files:
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
main: |
|
||||
from myapp.models import User
|
||||
reveal_type(User.objects) # N: Revealed type is "django.db.models.manager.Manager[myapp.models.User]"
|
||||
reveal_type(User.objects.get()) # N: Revealed type is "myapp.models.User*"
|
||||
reveal_type(User.objects.get()) # N: Revealed type is "myapp.models.User"
|
||||
installed_apps:
|
||||
- myapp
|
||||
files:
|
||||
@@ -59,7 +59,7 @@
|
||||
main: |
|
||||
from myapp.models import Base, MyModel
|
||||
base_instance = Base(MyModel)
|
||||
reveal_type(base_instance.model_cls._base_manager) # N: Revealed type is "django.db.models.manager.BaseManager[myapp.models.MyModel*]"
|
||||
reveal_type(base_instance.model_cls._base_manager) # N: Revealed type is "django.db.models.manager.BaseManager[myapp.models.MyModel]"
|
||||
installed_apps:
|
||||
- myapp
|
||||
files:
|
||||
@@ -78,7 +78,7 @@
|
||||
pass
|
||||
class Child(Base[MyModel]):
|
||||
def method(self) -> None:
|
||||
reveal_type(self.model_cls._base_manager) # N: Revealed type is "django.db.models.manager.BaseManager[myapp.models.MyModel*]"
|
||||
reveal_type(self.model_cls._base_manager) # N: Revealed type is "django.db.models.manager.BaseManager[myapp.models.MyModel]"
|
||||
|
||||
- case: if_custom_manager_defined_it_is_set_to_default_manager
|
||||
main: |
|
||||
@@ -126,7 +126,7 @@
|
||||
main: |
|
||||
from myapp.models import MyUser
|
||||
reveal_type(MyUser.objects) # N: Revealed type is "myapp.models.UserManager[myapp.models.MyUser]"
|
||||
reveal_type(MyUser.objects.get()) # N: Revealed type is "myapp.models.MyUser*"
|
||||
reveal_type(MyUser.objects.get()) # N: Revealed type is "myapp.models.MyUser"
|
||||
reveal_type(MyUser.objects.get_or_404()) # N: Revealed type is "myapp.models.MyUser"
|
||||
installed_apps:
|
||||
- myapp
|
||||
@@ -222,10 +222,10 @@
|
||||
main: |
|
||||
from myapp.models import UnrelatedModel, MyModel
|
||||
reveal_type(UnrelatedModel.objects) # N: Revealed type is "django.db.models.manager.Manager[myapp.models.UnrelatedModel]"
|
||||
reveal_type(UnrelatedModel.objects.first()) # N: Revealed type is "Union[myapp.models.UnrelatedModel*, None]"
|
||||
reveal_type(UnrelatedModel.objects.first()) # N: Revealed type is "Union[myapp.models.UnrelatedModel, None]"
|
||||
|
||||
reveal_type(MyModel.objects) # N: Revealed type is "django.db.models.manager.Manager[myapp.models.MyModel]"
|
||||
reveal_type(MyModel.objects.first()) # N: Revealed type is "Union[myapp.models.MyModel*, None]"
|
||||
reveal_type(MyModel.objects.first()) # N: Revealed type is "Union[myapp.models.MyModel, None]"
|
||||
installed_apps:
|
||||
- myapp
|
||||
files:
|
||||
@@ -243,10 +243,10 @@
|
||||
main: |
|
||||
from myapp.models import UnrelatedModel2, MyModel2
|
||||
reveal_type(UnrelatedModel2.objects) # N: Revealed type is "django.db.models.manager.Manager[myapp.models.UnrelatedModel2]"
|
||||
reveal_type(UnrelatedModel2.objects.first()) # N: Revealed type is "Union[myapp.models.UnrelatedModel2*, None]"
|
||||
reveal_type(UnrelatedModel2.objects.first()) # N: Revealed type is "Union[myapp.models.UnrelatedModel2, None]"
|
||||
|
||||
reveal_type(MyModel2.objects) # N: Revealed type is "django.db.models.manager.Manager[myapp.models.MyModel2]"
|
||||
reveal_type(MyModel2.objects.first()) # N: Revealed type is "Union[myapp.models.MyModel2*, None]"
|
||||
reveal_type(MyModel2.objects.first()) # N: Revealed type is "Union[myapp.models.MyModel2, None]"
|
||||
installed_apps:
|
||||
- myapp
|
||||
files:
|
||||
@@ -264,10 +264,10 @@
|
||||
main: |
|
||||
from myapp.models import ParentOfMyModel3, MyModel3
|
||||
reveal_type(ParentOfMyModel3.objects) # N: Revealed type is "django.db.models.manager.Manager[myapp.models.ParentOfMyModel3]"
|
||||
reveal_type(ParentOfMyModel3.objects.first()) # N: Revealed type is "Union[myapp.models.ParentOfMyModel3*, None]"
|
||||
reveal_type(ParentOfMyModel3.objects.first()) # N: Revealed type is "Union[myapp.models.ParentOfMyModel3, None]"
|
||||
|
||||
reveal_type(MyModel3.objects) # N: Revealed type is "django.db.models.manager.Manager[myapp.models.MyModel3]"
|
||||
reveal_type(MyModel3.objects.first()) # N: Revealed type is "Union[myapp.models.MyModel3*, None]"
|
||||
reveal_type(MyModel3.objects.first()) # N: Revealed type is "Union[myapp.models.MyModel3, None]"
|
||||
installed_apps:
|
||||
- myapp
|
||||
files:
|
||||
@@ -285,10 +285,10 @@
|
||||
main: |
|
||||
from myapp.models import ParentOfMyModel4, MyModel4
|
||||
reveal_type(ParentOfMyModel4.objects) # N: Revealed type is "django.db.models.manager.Manager[myapp.models.ParentOfMyModel4]"
|
||||
reveal_type(ParentOfMyModel4.objects.first()) # N: Revealed type is "Union[myapp.models.ParentOfMyModel4*, None]"
|
||||
reveal_type(ParentOfMyModel4.objects.first()) # N: Revealed type is "Union[myapp.models.ParentOfMyModel4, None]"
|
||||
|
||||
reveal_type(MyModel4.objects) # N: Revealed type is "django.db.models.manager.Manager[myapp.models.MyModel4]"
|
||||
reveal_type(MyModel4.objects.first()) # N: Revealed type is "Union[myapp.models.MyModel4*, None]"
|
||||
reveal_type(MyModel4.objects.first()) # N: Revealed type is "Union[myapp.models.MyModel4, None]"
|
||||
installed_apps:
|
||||
- myapp
|
||||
files:
|
||||
@@ -333,15 +333,15 @@
|
||||
main: |
|
||||
from myapp.models import User
|
||||
reveal_type(User.objects) # N: Revealed type is "myapp.models.User_MyManager2[myapp.models.User]"
|
||||
reveal_type(User.objects.select_related()) # N: Revealed type is "django.db.models.query._QuerySet[myapp.models.User*, myapp.models.User*]"
|
||||
reveal_type(User.objects.get()) # N: Revealed type is "myapp.models.User*"
|
||||
reveal_type(User.objects.select_related()) # N: Revealed type is "django.db.models.query._QuerySet[myapp.models.User, myapp.models.User]"
|
||||
reveal_type(User.objects.get()) # N: Revealed type is "myapp.models.User"
|
||||
reveal_type(User.objects.get_instance()) # N: Revealed type is "builtins.int"
|
||||
reveal_type(User.objects.get_instance_untyped('hello')) # N: Revealed type is "Any"
|
||||
|
||||
from myapp.models import ChildUser
|
||||
reveal_type(ChildUser.objects) # N: Revealed type is "myapp.models.ChildUser_MyManager2[myapp.models.ChildUser]"
|
||||
reveal_type(ChildUser.objects.select_related()) # N: Revealed type is "django.db.models.query._QuerySet[myapp.models.ChildUser*, myapp.models.ChildUser*]"
|
||||
reveal_type(ChildUser.objects.get()) # N: Revealed type is "myapp.models.ChildUser*"
|
||||
reveal_type(ChildUser.objects.select_related()) # N: Revealed type is "django.db.models.query._QuerySet[myapp.models.ChildUser, myapp.models.ChildUser]"
|
||||
reveal_type(ChildUser.objects.get()) # N: Revealed type is "myapp.models.ChildUser"
|
||||
reveal_type(ChildUser.objects.get_instance()) # N: Revealed type is "builtins.int"
|
||||
reveal_type(ChildUser.objects.get_instance_untyped('hello')) # N: Revealed type is "Any"
|
||||
installed_apps:
|
||||
|
||||
Reference in New Issue
Block a user