私はActiveState Komodoをしばらく使用していますが、コード補完の大半はDjangoのモデルマネージャからのコード補完が欠けています。djangoモデルマネージャのコード補完をKomodoに追加
私はPYTHONPATH
にDjangoディレクトリを含めて、コード補完の大半を得ました。例外はモデルです。
私はコードusers.objects.
しかし、これらは一見異常な方法でそれを行うモデルの管理者によって追加されるなどall()
、count()
、filter()
としてオートコンプリートオプションを表示するために期待users
モデルを持っていると仮定すると。
私はコモドがモデルを拾うのを強制することができるのだろうかと思っています。
モデルマネージャが(manager.pyから採取した)次のコード
def ensure_default_manager(sender, **kwargs):
"""
Ensures that a Model subclass contains a default manager and sets the
_default_manager attribute on the class. Also sets up the _base_manager
points to a plain Manager instance (which could be the same as
_default_manager if it's not a subclass of Manager).
"""
cls = sender
if cls._meta.abstract:
return
if not getattr(cls, '_default_manager', None):
# Create the default manager, if needed.
try:
cls._meta.get_field('objects')
raise ValueError("Model %s must specify a custom Manager, because it has a field named 'objects'" % cls.__name__)
except FieldDoesNotExist:
pass
cls.add_to_class('objects', Manager())
cls._base_manager = cls.objects
...
具体的に最後の2行から含まれるように見えます。コモドに<model>.objects = Manager()
という正しいコード補完が表示されていると伝える方法はありますか?
は(例えば上記自動魔法のようにやったように)私に知らせてくださいするのに役立ちます – syserr0r