【发布时间】:2017-10-07 12:55:52
【问题描述】:
我用的是社区pycharm,python的版本是3.6.1,django是1.11.1。此警告对运行没有影响,但我无法使用 IDE 的自动完成功能。
【问题讨论】:
我用的是社区pycharm,python的版本是3.6.1,django是1.11.1。此警告对运行没有影响,但我无法使用 IDE 的自动完成功能。
【问题讨论】:
您需要启用 Django 支持。去
PyCharm -> 首选项 -> 语言和框架 -> Django
然后检查Enable Django Support
【讨论】:
您还可以显式公开默认模型管理器:
from django.db import models
class Foo(models.Model):
name = models.CharField(max_length=50, primary_key=True)
objects = models.Manager()
【讨论】:
models.Manager(),并且它具有不破坏 PyCharm CE 的额外好处。是否公开默认模型管理器 un-pythonic?
from django.db import models。
为所有暴露对象的模型使用基础模型:
class BaseModel(models.Model):
objects = models.Manager()
class Meta:
abstract = True
class Model1(BaseModel):
id = models.AutoField(primary_key=True)
class Model2(BaseModel):
id = models.AutoField(primary_key=True)
【讨论】:
Python 框架(Django、Flask 等)仅在专业版中受支持。 查看下面的链接了解更多详情。
【讨论】:
【讨论】:
我发现的另一个解决方案是将@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
【讨论】: