MongoEngine

MongoEngine 是一个 Python 库,实现基于 MongoDB 的 ORM。MongoEngine 有一个特点,它跟 Django ORM 非常像,如果你有后者的使用经验,将会感到很熟悉。

在我的老博客《MongoEngine - Maxiee Blog》中,进行了详细介绍,可参阅该文。本文作为对老文章的延续。


解决 Document.objects 类型推断不出

Document.objects 是 MongoEngine 中最常用的查询方法,但是在 VS Code Pylance 下无法动态推断出类型。

Lint 报错信息如下:

Cannot access attribute "objects" for class "type[StockData]" Attribute "objects" is unknownPylancereportAttributeAccessIssue (function) objects: Unknown

参考《Cannot access member objects for Mongoengine models · Issue #445 · microsoft/pylance-release》 ,步骤如下:

首先安装 mypy:pip install mypy

在项目根目录路下运行:stubgen -o typings -p mongoengine

进入 typings/mongoengine/document.pyi,找到 Document 类定义,添加如下方法:

@staticmethod
def objects(**kwargs): ...

之后 Lint 问题即可修复。



本文作者:Maeiee

本文链接:MongoEngine

版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!


喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!