python - django:为什么我收到此错误:AttributeError:'method_descriptor'对象没有属性'今天'?

时间:2011-02-05 20:52:42

标签: python django

我有以下python代码:

from django.db import models
from datetime import datetime

class Poll(models.Model):
    question = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')
    def __unicode__(self):
        return self.question
    def was_published_today(self):
        return self.pub_date.date() == datetime.date.today()

在python shell中,我正在尝试运行:

p = Poll.objects.get(pk=1)
p.was_published_today()

第一行工作正常,但第二行给出了这个错误:

AttributeError:'method_descriptor'对象没有'今天'属性

3 个答案:

答案 0 :(得分:36)

您可能需要“导入日期时间”,而不是“从日期时间导入日期时间”。

“date”是datetime模块上的一个类,但它也是“datetime.datetime”类的一个方法。

答案 1 :(得分:16)

最佳答案是正确的,但如果您不想导入所有日期时间,可以写

from datetime import date

然后替换

datetime.date.today()

date.today()

答案 2 :(得分:3)

你需要这样做(ipython输出)

In [9]: datetime.today().date()
Out[9]: datetime.date(2011, 2, 5)

所以需要

def was_published_today(self):
        return self.pub_date.date() == datetime.today().date()