django文档上的pycharm IDE警告:应为类型';时间增量';,得到';DateTimeField';而不是python 3.7.3

django文档上的pycharm IDE警告:应为类型';时间增量';,得到';DateTimeField';而不是python 3.7.3,python,django,Python,Django,下面是代码片段 from django.db import models from django.utils import timezone import datetime class Question(models.Model): question_text = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') def __str__(self):

下面是代码片段

from django.db import models
from django.utils import timezone
import datetime


class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')

    def __str__(self):
        return self.question_text

    def was_published_recently(self):
        return self.pub_date >= timezone.now() - datetime.timedelta(days=1)
Pycharm突出显示自己的发布日期,并大喊

应为“timedelta”类型,改为“DateTimeField”


我该如何摆脱这种情况并把事情做好呢?

虽然代码是功能性的,但它遇到了PyCharm强调的键入问题。A试图更正文档,但未执行就关闭了

解决方案也在Django票据中,为了完整起见,复制到这里

  • return self.pub_date>=timezone.now()-datetime.timedelta(天=1)
变成

  • 返回self.pub_date>=(timezone.now()-datetime.timedelta(days=1)).timestamp()

这可能是PyCharm(很棒但不是完美的)线头的一个bug。如果你愿意,你可以向JetBrains报告。另外,如果您将
#noqa
添加到行尾,PyCharm将不会显示警告。@jfaccioni很高兴知道,谢谢:)但是,它不会使它消失……我相信
#noqa
注释仅在PyCharm的最新版本中有效。要删除早期版本中的警告,请参阅。