比较日期时间的例外值

时间:2015-12-29 20:21:19

标签: python django datetime

我的models.py相关代码:

import datetime
from datetime import date

class Page(models.Model):
    category = models.ForeignKey(Category)
    title = models.CharField(max_length=128)
    url = models.URLField()
    views = models.IntegerField(default=0)
    first_visit = models.DateField(default=datetime.date.today)
    last_visit = models.DateField(blank=True, null=True)    

    def save(self, *args, **kwargs):
        if self.first_visit > datetime.date.today:
            self.first_visit = datetime.date.today
        if self.last_visit > datetime.date.today:
            self.last_visit = datetime.date.today

        super(Page, self).save(*args, **kwargs)

当我从管理员添加页面时,会出现此错误:

Exception Value: unorderable types: datetime.date() > builtin_function_or_method()

任何想法?谢谢

1 个答案:

答案 0 :(得分:3)

datetime.date.today是一个可调用的函数,datetime.date.today()调用该函数。我认为你需要使用datetime.date.today()

此外,您无需按照save()方法执行上次修改时间戳所做的操作,您可以修改last_visit字段:

last_visit = models.DateField(auto_now=True, blank=True, null=True)

django doc是你的朋友。