为啥 PyCharm 不建议为 django 模型自动填充?

Posted

技术标签:

【中文标题】为啥 PyCharm 不建议为 django 模型自动填充?【英文标题】:Why PyCharm is not suggesting autofill for django models?为什么 PyCharm 不建议为 django 模型自动填充? 【发布时间】:2017-04-21 19:52:00 【问题描述】:

最近我的 PyChar 停止了对我的 django 项目的建议。当我键入时,它不建议模型字段。这是一个例子,

我的 model.py 文件,

class User(model):
    field_one = django.field
    field_two = djangp.field

请忽略该信息,因为它不是实际模型,

所以每当我尝试使用时

user = User.objects.get(field_one='something')

我的 PyCharm 曾经在 .get() 内给我字段建议,当我的光标在括号内时,如 field_onefield_two 和来自超类等的其他对象/字段,但现在它没有给我任何建议。这很痛苦,因为我的一些模型中有外键,其中有其他外键。编写查询很容易,但现在并不容易,因为我的模型很大并且包含不同的外键连接。

我尝试过更改偏好、python 解释器、django 支持等我在网上找到的解决方案。 PyCharm 建议我使用其他 python 代码和自动填充,所以如果我写的话,

user = User.objects.

它会给我一些方法的建议,如 get()、filter()、get_or_create() 等,但不是方法内的字段。

谁能告诉我怎么解决?

谢谢。

【问题讨论】:

【参考方案1】:

也许你没有在你的 pycharm 设置中打开 django 支持,它在 文件 |设置 |语言和框架 | Django,点击它,它对我有用。

【讨论】:

嗯,你在 Enable Django Support 下选择了正确的 django 项目根目录吗? 是的,我做的一切都是正确的,因为它曾经可以工作,但有一天它突然停止了。 该设置页面上有一个Show structure 按钮。单击它并检查所有型号是否都列在models 中。对我来说,该列表中缺少嵌套文件夹中定义的一些模型。

以上是关于为啥 PyCharm 不建议为 django 模型自动填充?的主要内容,如果未能解决你的问题,请参考以下文章

为啥django模型层的null和blank约束不起作用

为啥 django 的 model.save() 不调用 full_clean()?

为啥 Django 模型信号不起作用?

为啥我的“多对多” Django 模型中的 Django 的“add()”方法不采用?

为啥 Django Rest Framework 不鼓励模型级别验证?

在 Django 中,为啥模型中的 blank=True 不会使表单字段不是强制性的?