Django自定义模型管理器方法在VS Code中无类型提示、无法识别的问题求助
Django自定义模型管理器方法在VS Code中无类型提示、无法识别的问题求助
我正在尝试用自定义模型管理器给查询集添加注解,但遇到了个挺头疼的问题——VS Code完全识别不了我在自定义模型管理器/查询集里定义的方法,一开始只是看着别扭,后来发现这会引发实际的开发问题。
举个具体的例子:
from django.db import models from rest_framework.generics import ListAPIView # models.py class CarQuerySet(models.QuerySet): def wiht_wheels(self): # 注:这里是故意写错的拼写 pass # 假设这里实现了一些注解逻辑 class Car(models.Model): objects = CarQuerySet.as_manager() # views.py class ListCarsView(ListAPIView): def get_queryset(self): return Car.objects.wiht_weels() # <--- 这个方法名显示白色而非正常方法的黄色
一开始我只是有点不爽——wiht_weels显示成白色,不像普通方法那样有黄色高亮提示。
后来更闹心的是,VS Code完全不会给出这个方法的参数提示,也没法识别它的返回类型。
最后还出了实际的bug:我不小心打错了自定义模型方法的名字,用VS Code的“重构->重命名”功能时,它只改了当前位置的名字,视图里用到该方法的地方根本没同步修改,估计就是因为VS Code根本不知道这个方法在哪里被调用了。
有没有什么办法能解决这个问题呢?
备注:内容来源于stack exchange,提问作者Marco Castanho
相关产品推荐
相关产品推荐

