Python 将django模型管理器代码完成添加到Komodo
我已经使用ActiveState Komodo有一段时间了,虽然大部分代码完成都很到位,但它缺少Django模型管理器的代码完成 我已经将Django目录包含在我的Python 将django模型管理器代码完成添加到Komodo,python,django,komodo,Python,Django,Komodo,我已经使用ActiveState Komodo有一段时间了,虽然大部分代码完成都很到位,但它缺少Django模型管理器的代码完成 我已经将Django目录包含在我的PYTHONPATH中,并完成了大部分代码,值得注意的例外是模型 假设我有一个模型users,我希望代码users.objects.会显示自动完成选项,例如all(),count(),filter()等。但是,这些选项是由模型的管理器添加的,它以一种似乎不正常的方式添加的 我想知道我是否能“强迫”科莫多去买模型 模型管理器似乎包含在以
PYTHONPATH
中,并完成了大部分代码,值得注意的例外是模型
假设我有一个模型users
,我希望代码users.objects.
会显示自动完成选项,例如all()
,count()
,filter()
等。但是,这些选项是由模型的管理器添加的,它以一种似乎不正常的方式添加的
我想知道我是否能“强迫”科莫多去买模型
模型管理器似乎包含在以下代码中(取自manager.py)
特别是最后两行。有没有办法告诉Komodo,
.objects=Manager()
这样就可以显示正确的代码完成情况?实现这一点的最简单方法可能是在models.py的顶部添加以下内容:
from django.db.models import manager
然后在每个模型下添加
objects = manager.Manager()
因此,例如,以下内容:
class Site(models.Model):
name = models.CharField(max_length=200)
prefix = models.CharField(max_length=1)
secret = models.CharField(max_length=255)
def __unicode__(self):
return self.name
变成
class Site(models.Model):
name = models.CharField(max_length=200)
prefix = models.CharField(max_length=1)
secret = models.CharField(max_length=255)
objects = manager.Manager()
def __unicode__(self):
return self.name
这就是您(显式)设置自己的模型管理器的方式,通过显式地将模型管理器设置为默认值,Kommodo可以完美地完成代码
希望这能对某人有所帮助:-)如果有更好的方法,请让我知道(例如神奇地执行上述自动操作)
class Site(models.Model):
name = models.CharField(max_length=200)
prefix = models.CharField(max_length=1)
secret = models.CharField(max_length=255)
objects = manager.Manager()
def __unicode__(self):
return self.name