在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):
return self.question_text
def was_published_recently(self):
return self.pub_date >= timezone.now() - datetime.timedelta(days=1)
Run Code Online (Sandbox Code Playgroud)
Pycharm亮点self.pub_date和喊话
预期类型为“timedelta”,但得到“DateTimeField”
我该如何摆脱这个并做正确的事情?
小智 6
虽然代码可以正常运行,但它遇到了 PyCharm 强调的打字问题。向 Django 提出了一张票以更正文档,但未实施就被关闭。
该解决方案也在 Django 票证中,为了完整起见,将其复制到此处。
return self.pub_date >= timezone.now() - datetime.timedelta(days=1)
Run Code Online (Sandbox Code Playgroud)
变成
return self.pub_date >= (timezone.now() - datetime.timedelta(days=1)).timestamp()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2538 次 |
| 最近记录: |