我使用社区pycharm,python的版本是3.6.1,django是1.11.1。此警告对运行没有影响,但我无法使用IDE的自动完成。
您需要启用Django支持。去
PyCharm - >首选项 - >语言和框架 - > Django
然后检查Enable Django Support
您还可以显式公开默认模型管理器:
from django.models import models
class Foo(models.Model):
name = models.CharField(max_length=50, primary_key=True)
objects = models.Manager()
Python Frameworks(Django,Flask等)仅在Professional Edition中受支持。请查看以下链接了解更多详情。
我找到的另一个解决方案是在任何模型上放置@ python_2_unicode_compatible装饰器。它还要求你有一个str实现四个函数
例如:
# 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
对所有暴露对象的模型使用Base模型:
class BaseModel(models.Model):
objects = models.Manager()
class Model1(BaseModel):
id = models.AutoField(primary_key=True)
class Model2(BaseModel):
id = models.AutoField(primary_key=True)