这是我正在尝试执行的一小段代码:
>>> from datetime import *
>>> item_date = datetime.strptime('7/16/10', "%m/%d/%y")
>>> from_date = date.today()-timedelta(days=3)
>>> print type(item_date)
<type 'datetime.datetime'>
>>> print type(from_date)
<type 'datetime.date'>
>>> if item_date > from_date:
... print 'item is newer'
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can't compare datetime.datetime to datetime.date
Run Code Online (Sandbox Code Playgroud)
我似乎无法比较日期和日期时间值.比较这些最好的方法是什么?我应该将日期时间转换为日期,反之亦然?我如何在他们之间进行转换.
(一个小问题,但似乎有点令人困惑.)
我是 Django 的新手。
我创建了模型具有start_date(开始日期成为赞助商)和end_date(赞助商结束日期)的赞助商模型。
start_date = models.DateField(
_("Start date"),
default=datetime.date.today)
end_date = models.DateField(
_("End date"),
default=datetime.date.today)
Run Code Online (Sandbox Code Playgroud)
我想将所有逻辑放在模型中,如果不可能,那么我想将逻辑放在视图中。我制作了current_sponsor可以返回 True 或 False 的方法(如果今天在 start_date 的范围内,而 end_date 意味着Trueelse False)。
这是我的current_sponsor方法
def current_sponsor(self):
today = datetime.date.today
if today >= self.start_date:
return True
elif today <= self.end_date:
return True
else:
return False
Run Code Online (Sandbox Code Playgroud)
问题是我有错误can't compare datetime.datetime to builtin_function_or_method。
我尝试使用 django shell 查看数据,它似乎有效,但实际无效。