问题标签 [django-stubs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
409 浏览

django - mypy返回模块'X'没有属性'MyClass'与django rest框架

我有以下 django rest 框架设置

应用程序/模型.py:

应用程序/serializer.py:

我已将 mypy 配置为使用以下设置作为预提交挂钩运行:

但是 mypy (0.67) 返回以下错误:serializer.py: error: Module 'app.models' has no attribute 'A'

如果我在为 django 和 django rest_framework 安装存根后在命令行上运行 mypy,则 mypy 运行正常并且没有报告错误:

mypy.ini

我该如何解决这个似乎只与通过预提交挂钩运行有关的错误?

0 投票
0 回答
543 浏览

python - mypy django rest 框架 - 使用多个权限类时不支持的左操作数类型

我正在将 mypy 集成到现有代码库中(使用 django、drf 框架)。

view.py 中的示例代码:

结果:

使用的插件:

mypy 配置文件(mypy.ini):

用 mypy(0.720 和 0.740)检查。

这里可能是什么问题?由于操作'|' mypy 无法识别,我怀疑在 mypy 评估期间未添加元类 BasePermissionMetaclass(包含操作)。我假设只需安装 djangorestframework-stubs 并在 mypy.ini 中配置它就足够了。

0 投票
1 回答
278 浏览

python - Django 存根中断 Pycharm 自动完成

我有一个有几个模型的 django 应用程序。这是我过滤对象时的自动完成

在此处输入图像描述

然后我为 MyPy 安装 django-stubs

现在我的自动完成看起来像这样

在此处输入图像描述 在此处输入图像描述

当我删除 django-stubs 时,自动完成效果很好,就像第一张图片一样

那么,有没有办法将 django-stubs 与 Pycharm Django 自动完成功能一起使用?

我使用 Pycharm Professional 2019.1 和 Python3.7

0 投票
1 回答
298 浏览

python - request.user 返回抽象用户(django-stubs)

我正在尝试输入以下内容:

我的自定义用户模型在哪里CustomUser定义settings.py。我的 IDE 抱怨说Expected type 'CustomUser', got 'AbstractBaseUser' instead。查看文档,它说self.request.user返回一个实例,AUTH_USER_MODEL但显然这没有发生。

也试过:

在哪里

0 投票
2 回答
393 浏览

python-3.x - VSCode 中的 Mypy linting 出现“构造 NewSemanalDRFPlugin 的插件实例时出错”

尝试在 VSCode 中运行 Mypy linter,总是在输出中得到相同的错误...

Django 项目的根目录和工作区目录不同。

  • mypy==0.770
  • mypy扩展==0.4.3
  • django-stubs==1.5.0
  • djangorestframework-stubs==1.2.0

python3.8.5

带有 DRF 的 Django

0 投票
1 回答
410 浏览

python - django,mypy:查询集,选择。错误:不兼容的类型

我们有:

在模型.py

  1. 在 serializers.py 中

当我通过 mypy 检查它时:

resources/serializers.py:67:错误:赋值中的类型不兼容(表达式的类型为“Union [Any, object]”,变量的类型为“int”)

  1. 如果在 serializers.py

通过 mypy 检查它:

资源/serializers.py:68:错误:查找'language_id'的类型不兼容:(得到“Union [Any,object]”,预期“Union [str,int]”)

3)

核实:

resources/serializers.py:67:错误:赋值中的类型不兼容(表达式的类型为“Union[Any, object]”,变量的类型为“Union[str, int]”)

怎么了?

mypy.ini:

0 投票
1 回答
216 浏览

python - django-stubs:缺少泛型“ModelSerializer”的类型参数

我有

现在我运行 mypy

我明白了

0 投票
1 回答
73 浏览

python - 为带有注释字段的 Django 模型键入提示

假设我有以下 Django 模型:

我有一个功能可以为每个工具箱获取所有小工具。参数类型提示来自这个 SO 答案

这里的想法是要求此函数的用户使用以减少 db 命中数并加快代码速度来预取此small_tools字段:prefetch_related()

这一切都很好,但 mypy 抱怨以下错误:

错误:“工具箱”没有属性“small_tools”[attr-defined]

有没有什么办法解决这一问题?

WithAnnotations[Model]来自 django-subs的类型(见这里)是一个选项,但它有问题

0 投票
1 回答
30 浏览

django - 如何在 pyproject.tom 文件的 [tool.django-stubs] 指令中提供源目录?

src在我的 django 项目中使用一个目录作为根源目录。

我正在尝试使用 mypy 和 django-stubs 对这些 django 项目执行预提交操作。

在 pyproject.toml 中是不是比源根目录中的一种说法src/

目前,我已经:

当我输入时django_settings_module = "src.seniors.settings.dev",我稍后在导入其他模块时遇到了一些错误(account...)

你有什么想法吗?当然我不想改变我的项目布局!

谢谢 !

0 投票
0 回答
34 浏览

python - Django-stubs 不会忽略导入

我试图配置 pre-commit + mypy + django-stubs,所以当我尝试提交时出现错误。

ModuleNotFoundError:没有名为“环境”的模块

我的配置:

.pre-commit-config.yaml

设置.cfg

看起来 mypy 忽略选项 ignore_missing_imports = True。有没有人有任何想法?

完整的错误跟踪:

我必须在这里多写一些文字,因为 stackoverflow 得到错误:很多代码,添加细节。