mirror of
https://github.com/davidhalter/django-stubs.git
synced 2025-12-17 01:07:12 +08:00
Add distinct, order_by and all method signatures for _ValuesQuerySet (#657)
This commit is contained in:
@@ -169,6 +169,9 @@ class _ValuesQuerySet(Generic[_T, _Row], Collection[_Row], Reversible[_Row], Que
|
|||||||
def latest(self, *fields: Any, field_name: Optional[Any] = ...) -> _Row: ... # type: ignore
|
def latest(self, *fields: Any, field_name: Optional[Any] = ...) -> _Row: ... # type: ignore
|
||||||
def first(self) -> Optional[_Row]: ... # type: ignore
|
def first(self) -> Optional[_Row]: ... # type: ignore
|
||||||
def last(self) -> Optional[_Row]: ... # type: ignore
|
def last(self) -> Optional[_Row]: ... # type: ignore
|
||||||
|
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
|
||||||
|
|
||||||
class RawQuerySet(Iterable[_T], Sized):
|
class RawQuerySet(Iterable[_T], Sized):
|
||||||
query: RawQuery
|
query: RawQuery
|
||||||
|
|||||||
@@ -26,6 +26,25 @@
|
|||||||
name = models.CharField(max_length=100)
|
name = models.CharField(max_length=100)
|
||||||
age = models.IntegerField()
|
age = models.IntegerField()
|
||||||
|
|
||||||
|
- case: values_list_supports_queryset_methods
|
||||||
|
main: |
|
||||||
|
from myapp.models import MyUser
|
||||||
|
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]"
|
||||||
|
installed_apps:
|
||||||
|
- myapp
|
||||||
|
files:
|
||||||
|
- path: myapp/__init__.py
|
||||||
|
- path: myapp/models.py
|
||||||
|
content: |
|
||||||
|
from django.db import models
|
||||||
|
class MyUser(models.Model):
|
||||||
|
name = models.CharField(max_length=100)
|
||||||
|
age = models.IntegerField()
|
||||||
|
|
||||||
- case: values_list_related_model_fields
|
- case: values_list_related_model_fields
|
||||||
main: |
|
main: |
|
||||||
from myapp.models import Post, Blog
|
from myapp.models import Post, Blog
|
||||||
|
|||||||
Reference in New Issue
Block a user