Skip to content

Commit 83960c2

Browse files
committed
Add test for QuerySet type vars
1 parent 7f9435b commit 83960c2

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

tests/typecheck/db/models/test_query.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,3 +54,19 @@
5454
QuerySet._iterable_class = int
5555
out: |
5656
main:5: error: Incompatible types in assignment (expression has type "Type[int]", variable has type "Type[BaseIterable[Any]]") [assignment]
57+
58+
- case: QuerySet_type_vars
59+
main: |
60+
from django.db.models.query import QuerySet
61+
from django.contrib.auth.models import User
62+
from django_stubs_ext import ValuesQuerySet
63+
64+
a: QuerySet[User]
65+
reveal_type(a) # N: Revealed type is "django.db.models.query.QuerySet[django.contrib.auth.models.User, django.contrib.auth.models.User]"
66+
b: QuerySet[User, int]
67+
reveal_type(b) # N: Revealed type is "django.db.models.query.QuerySet[django.contrib.auth.models.User, builtins.int]"
68+
c: ValuesQuerySet[User, int]
69+
reveal_type(c) # N: Revealed type is "django.db.models.query.QuerySet[django.contrib.auth.models.User, builtins.int]"
70+
71+
d: QuerySet[int] # E: Type argument "int" of "QuerySet" must be a subtype of "Model" [type-var]
72+
e: ValuesQuerySet[int] # E: Type argument "int" of "QuerySet" must be a subtype of "Model" [type-var]

0 commit comments

Comments
 (0)