You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 20:39:51