Skip to content

Commit a2c892a

Browse files
authored
Fix order_by to accept any Combinable (#2816)
1 parent 60e5c03 commit a2c892a

File tree

3 files changed

+3
-3
lines changed

3 files changed

+3
-3
lines changed

django-stubs/db/models/manager.pyi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ class Manager(BaseManager[_T]):
143143
def prefetch_related(self, *lookups: str | Prefetch[_LookupT, _PrefetchedQuerySetT, _ToAttrT]) -> QuerySet[_T]: ...
144144
def annotate(self, *args: Any, **kwargs: Any) -> QuerySet[_T]: ...
145145
def alias(self, *args: Any, **kwargs: Any) -> QuerySet[_T]: ...
146-
def order_by(self, *field_names: str | OrderBy) -> QuerySet[_T]: ...
146+
def order_by(self, *field_names: str | Combinable) -> QuerySet[_T]: ...
147147
def distinct(self, *field_names: str) -> QuerySet[_T]: ...
148148
# extra() return type won't be supported any time soon
149149
def extra(

django-stubs/db/models/query.pyi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ class QuerySet(Generic[_Model, _Row], Iterable[_Row], Sized):
189189
def prefetch_related(self, *lookups: str | Prefetch[_LookupT, _PrefetchedQuerySetT, _ToAttrT]) -> Self: ...
190190
def annotate(self, *args: Any, **kwargs: Any) -> Self: ...
191191
def alias(self, *args: Any, **kwargs: Any) -> Self: ...
192-
def order_by(self, *field_names: str | OrderBy) -> Self: ...
192+
def order_by(self, *field_names: str | Combinable) -> Self: ...
193193
def distinct(self, *field_names: str) -> Self: ...
194194
# extra() return type won't be supported any time soon
195195
def extra(

tests/typecheck/managers/querysets/test_from_queryset.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -673,7 +673,7 @@
673673
reveal_type(MyModel.objects.intersection) # N: Revealed type is "def (*other_qs: django.db.models.query.QuerySet[django.db.models.base.Model, django.db.models.base.Model]) -> myapp.models.MyQuerySet"
674674
reveal_type(MyModel.objects.none) # N: Revealed type is "def () -> myapp.models.MyQuerySet"
675675
reveal_type(MyModel.objects.only) # N: Revealed type is "def (*fields: builtins.str) -> myapp.models.MyQuerySet"
676-
reveal_type(MyModel.objects.order_by) # N: Revealed type is "def (*field_names: builtins.str | django.db.models.expressions.OrderBy) -> myapp.models.MyQuerySet"
676+
reveal_type(MyModel.objects.order_by) # N: Revealed type is "def (*field_names: builtins.str | django.db.models.expressions.Combinable) -> myapp.models.MyQuerySet"
677677
reveal_type(MyModel.objects.prefetch_related) # N: Revealed type is "Overload(def (None) -> myapp.models.MyQuerySet, def (*lookups: builtins.str | django.db.models.query.Prefetch[_LookupT`-1, _PrefetchedQuerySetT`-2 = django.db.models.query.QuerySet[django.db.models.base.Model, django.db.models.base.Model], _ToAttrT`-3 = builtins.str]) -> myapp.models.MyQuerySet)"
678678
reveal_type(MyModel.objects.reverse) # N: Revealed type is "def () -> myapp.models.MyQuerySet"
679679
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"

0 commit comments

Comments
 (0)