2017-05-09 826 views

回答

18

您需要启用Django支持。

转到PyCharm - >首选项 - >语言&框架 - > Django的然后检查Enable Django Support

+6

的Django在付费版本的pycharm –

+2

@EricBlum是的,我知道,但PyCharm真棒。有一种方法可以禁用这种检查。还有一种方法可以使用不同的IDE,比如Atom,Visual Code和其他。 –

+2

@vishes_shell如果我只是禁用此检查,自动完成也将被禁用。有没有其他方法可以解决这个问题? –

0

另一种解决方案,我发现是把@ python_2_unicode_compatible装饰上的任何模型。 它也需要你有一个海峡实施Four的功能

例如:

# models.py 

from django.utils.encoding import python_2_unicode_compatible 

@python_2_unicode_compatible 
class SomeModel(models.Model): 
    name = Models.CharField(max_length=255) 

    def __str__(self): 
     return self.name 
0

您也可以公开明确地默认的模型管理器:目前仅支持

from django.models import models 

class Foo(models.Model): 
    name = models.CharField(max_length=50, primary_key=True) 

    objects = models.Manager() 
+0

我这样做是因为我有一个自定义'models.Manager()',它具有不破坏PyCharm CE的附加好处。是暴露默认模型管理器非pythonic? – Vishal

+0

您可以添加多个管理器到您的模型。当您访问Foo.objects时,您可以访问标准管理器,因此公开它并不正确。无论是不是pythonic,我都不确定。 – Campi

相关问题