Django中MyPy检测遇UserManager类型不兼容等错误,求解决方案
MyPy类型检查报错求助
运行MyPy时出现以下错误:
error: Cannot override class variable (previously declared on base class "User") with instance variable [misc] error: Incompatible types in assignment (expression has type "type[BuyerManager[Any]]", base class "User" defined the type as "UserManager[User]") [assignment]
我的代码如下:
class User(AbstractUser): ... class Buyer(User): objects = BuyerManager() class BuyerManager(UserManager): def get_queryset(self) -> QuerySet: return super().get_queryset().filter(status="buyer")
目前尝试过两种处理方式:
- 给
objects赋值添加# type: ignore忽略类型检查:objects = BuyerManager() # type: ignore - 考虑不重写
get_queryset,而是新增buyers过滤方法在需要时调用
想了解是否有更优的解决方案,欢迎分享建议。
内容的提问来源于stack exchange,提问作者apet
相关产品推荐
相关产品推荐

