mirror of
https://github.com/davidhalter/django-stubs.git
synced 2025-12-08 21:14:49 +08:00
one more edge case for values()
This commit is contained in:
@@ -106,7 +106,7 @@ class DjangoLookupsContext:
|
|||||||
def __init__(self, django_context: 'DjangoContext'):
|
def __init__(self, django_context: 'DjangoContext'):
|
||||||
self.django_context = django_context
|
self.django_context = django_context
|
||||||
|
|
||||||
def resolve_lookup(self, model_cls: Type[Model], lookup: str) -> Optional[Field]:
|
def resolve_lookup(self, model_cls: Type[Model], lookup: str) -> Field:
|
||||||
query = Query(model_cls)
|
query = Query(model_cls)
|
||||||
lookup_parts, field_parts, is_expression = query.solve_lookup_type(lookup)
|
lookup_parts, field_parts, is_expression = query.solve_lookup_type(lookup)
|
||||||
if lookup_parts:
|
if lookup_parts:
|
||||||
|
|||||||
@@ -153,8 +153,11 @@ def resolve_field_lookups(lookup_exprs: Sequence[Expression], ctx: Union[Functio
|
|||||||
|
|
||||||
|
|
||||||
def extract_proper_type_queryset_values(ctx: MethodContext, django_context: DjangoContext) -> MypyType:
|
def extract_proper_type_queryset_values(ctx: MethodContext, django_context: DjangoContext) -> MypyType:
|
||||||
|
# queryset method
|
||||||
assert isinstance(ctx.type, Instance)
|
assert isinstance(ctx.type, Instance)
|
||||||
assert isinstance(ctx.type.args[0], Instance)
|
# if queryset of non-instance type
|
||||||
|
if not isinstance(ctx.type.args[0], Instance):
|
||||||
|
return AnyType(TypeOfAny.from_omitted_generics)
|
||||||
|
|
||||||
model_type = ctx.type.args[0]
|
model_type = ctx.type.args[0]
|
||||||
model_cls = django_context.get_model_class_by_fullname(model_type.type.fullname())
|
model_cls = django_context.get_model_class_by_fullname(model_type.type.fullname())
|
||||||
|
|||||||
Reference in New Issue
Block a user