Add more method signatures for _ValuesQuerySet (#661)

This commit is contained in:
Michael Aquilina
2021-07-03 18:12:05 +01:00
committed by GitHub
parent 13c620f572
commit 5c3ce171b2
2 changed files with 7 additions and 0 deletions

View File

@@ -154,6 +154,9 @@ class _ValuesQuerySet(Generic[_T, _Row], Collection[_Row], Reversible[_Row], Que
def distinct(self, *field_names: Any) -> _ValuesQuerySet[_T, _Row]: ... # type: ignore
def order_by(self, *field_names: Any) -> _ValuesQuerySet[_T, _Row]: ... # type: ignore
def all(self) -> _ValuesQuerySet[_T, _Row]: ... # type: ignore
def annotate(self, *args: Any, **kwargs: Any) -> _ValuesQuerySet[_T, Any]: ...
def filter(self, *args: Any, **kwargs: Any) -> _ValuesQuerySet[_T, _Row]: ...
def exclude(self, *args: Any, **kwargs: Any) -> _ValuesQuerySet[_T, _Row]: ...
class RawQuerySet(Iterable[_T], Sized):
query: RawQuery

View File

@@ -29,11 +29,15 @@
- case: values_list_supports_queryset_methods
main: |
from myapp.models import MyUser
from django.db.models.functions import Length
query = MyUser.objects.values_list('name')
reveal_type(query.order_by("name").get()) # N: Revealed type is "Tuple[builtins.str]"
reveal_type(query.distinct("name").get()) # N: Revealed type is "Tuple[builtins.str]"
reveal_type(query.distinct().get()) # N: Revealed type is "Tuple[builtins.str]"
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 "Any"
installed_apps:
- myapp
files: