在按照教程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()
当在解释器中运行时工作正常,正如预期的那样,但在我的文件中,它没有。有什么建议吗?
答案 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()