У меня в проекте Django стоит модель Team
. Я создаю свой собственный менеджер моделей с помощью QuerySet.as_manager()
.
class TeamQuerySet(models.QuerySet):
def active(self) -> "models.QuerySet[Team]":
return self.filter(is_active=True)
class Team(models.Model):
is_active = models.BooleanField()
objects = TeamQuerySet.as_manager()
Когда я пытаюсь выполнить Team.objects.active()
, mypy выдает следующую ошибку:
error: "Manager[Any]" has no attribute "active"
In [5]: Team.objects
Out[5]: <django.db.models.manager.ManagerFromTeamQuerySet at 0x10eee1f70>
Если бы я явно определял класс TeamManager
, не было бы проблем. Как мне указать тип Django поля модели objects
динамически сгенерированному классу?