django datetime.datetime错误

时间:2010-12-16 22:52:30

标签: python django datetime

在按照教程here进行操作时,我会到达您运行poll.was_published_today的位置,我收到此错误:

Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/myDir/mySite/polls/models.py", line 11, in was_published_today
    return (self.pub_date() == datetime.date.today())
TypeError: 'datetime.datetime' object is not callable

以下是我的民意调查类的代码:

from django.db import models
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() == datetime.date.today())

我尝试了一些不同的东西,它总是在任何提及“日期时间”时窒息。

此代码:

import datetime
datetime.date.today()

当在解释器中运行时工作正常,正如预期的那样,但在我的文件中,它没有。有什么建议吗?

2 个答案:

答案 0 :(得分:5)

错字。应该是

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

答案 1 :(得分:2)

我修好了。出于某种原因,它会像import datetime那样对待from datetime import *(任何人都知道为什么?)所以从

中移除datetime

return (self.pub_date.date() == datetime.date.today())

纠正了它。我还决定首先导入日期时间 ,但我不知道是否做了什么。

工作文件(对我来说)是:

import datetime
from django.db import models

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() == date.today()