我使用的是Django 4.1.7和django-stubs 1.16.0以及mypy 1.1.1。
我有这样的代码:
class ProductQuerySet(QuerySet):
...
class ProductManager(Manager):
def create_red_product(self, **kwargs) -> "Product":
return self.model(color=Product.Color.RED, **kwargs)
_product_manager = ProductManager.from_queryset(ProductQuerySet)
class Product(Model):
...
objects = _product_manager()
当我看到这个的时候,它说:
models/product.py:46: error: Incompatible return value type (got "_T", expected "Product") [return-value]
在模型管理器方法中,self.model
的类型似乎是_T
,据我所知,这是一个绑定到模型的泛型类型,在我的例子中应该是“Product”。
为什么不管用?我怎么修?
1条答案
按热度按时间iyr7buue1#
我无法一一重现您的案例,但请尝试通过以下方式详细说明您的经理的职责: