Django + pydev中的自动完成

时间:2011-07-18 23:59:36

标签: python django eclipse autocomplete pydev

我正在尝试让pydev从模型数据中自动完成我的变量,但是现在我无法做到这一点。

我在

中配置了PYTHONPATH
Window->Preferences->PyDev->Interpreter - Python

包括django文件夹和我的项目文件夹。

然后,如果我有这样的模型:

class Team(models.Model):
  name = models.CharField(max_length=50)
  id = models.IntegerField()

并从同一个django项目的另一个文件导入此文件

from MyProject.MyApp.models import Team

例如,如果我执行代码完成(我使用CTRL + SPACE向我显示autocompletion optiosn)

team = Team.objects.[CTRL+SPACE]

但是如果我想'自动完成't的变量,它就不起作用了。例如

team.[CTRL+SPACE]

没有给我任何选择。 有关如何解决问题的任何想法? 感谢

更新:我一直在深入挖掘问题的根源,它与路径配置或自动完成配置无关,似乎与检测对象的类型有关(系统无法检测到该团队是Team对象,因此它不显示对象属性)。

2 个答案:

答案 0 :(得分:2)

您是否已将您的站点包和项目文件夹添加到PyDev Pythonpath?

右键单击项目文件夹并...

PyDev>设置为PyDev项目

再次右键单击...

属性> PyDev - PYTHONPATH

单击“外部库”。 单击“添加源文件夹”。 选择项目文件夹以及您的站点包文件夹。如果你正在使用virtualenv,当然,为什么你不会;)你会想要选择适当的virtualenv的网站包。您不必选择系统site-packages文件夹。

现在让我们检查自动完成设置...... 窗口>偏好> PyDev>编辑>代码完成

除了右括号外,我设置了自动完成功能,自动完成延迟为0.我也不建议启用自动导入功能。

希望能让你前进!

答案 1 :(得分:0)

Model.object自动完成被破坏,或者至少是在2008年:

http://www.mail-archive.com/django-users@googlegroups.com/msg52874.html

您使用的是上一个版本吗?