Django & mypy: подсказка типа ValuesQuerySet - PullRequest
1 голос
/ 18 февраля 2020

Какой тип подсказки использовать для функции, которая возвращает набор запросов, подобный приведенному ниже?

def _get_cars_for_validation(filter_: dict) -> QuerySet:
    return (
        Car.objects.filter(**filter_)
        .values("id", "brand", "engine")
        .order_by("id")
    )

mypy возвращает ошибку

Несовместимый тип возвращаемого значения (получено "ValuesQuerySet [Car, TypedDict ({'id': int, 'brand': str, 'engine': str})]", ожидаемый "QuerySet [Any]")

Я бы использовал ValuesQuerySet но было удалено в Django 1,9 . ValuesQuerySet сообщается mypy от сторонней библиотеки django-stubs (и я не могу ее импортировать; возможно ли это на самом деле?).

...