Код: Выделить всё
from django.db import models
class CustomQuerySet(models.QuerySet):
def live(self):
return self.filter(is_draft=False)
class CustomManager(models.Manager):
def publish(self, instance: "MyModel"):
instance.is_draft = False
instance.save()
Код: Выделить всё
class MyModel(models.Model):
objects: CustomManager = CustomManager().from_queryset(CustomQuerySet)()
is_draft = models.BooleanField(blank=True, default=True)
Удаление аннотации типа приводит к аналогичной жалобе: невозможно атрибут доступа «live» для класса «BaseManager[MyModel]». Атрибут «live» неизвестен.
Как аннотировать объекты в MyModel, поэтому Pylance будет знать, что у объектов также доступны методы CustomQuerySet, а не только методы CustomManager?
Подробнее здесь: https://stackoverflow.com/questions/792 ... m-queryset
Мобильная версия