【问题标题】:TypeError: '>=' not supported between instances of 'datetime.datetime' and ' float'类型错误:“datetime.datetime”和“float”实例之间不支持“>=”
【发布时间】:2020-08-15 04:58:21
【问题描述】:

这是我的代码

import datetime

from django.utils import timezone


class Allcourses(models.Model):
    started_from = models.DateTimeField('Started from')

    def was_published_recently(self):
        return self.started_from >= (timezone.now() - datetime.timedelta(days=1)).timestamp()

它显示: TypeError:“datetime.datetime”和“float”实例之间不支持“>=”

谁能帮忙?

【问题讨论】:

    标签: python django python-datetime


    【解决方案1】:

    .timestamp() 给出纪元时间的数字(自 1970 年 1 月以来的时间)。删除它,以便您比较日期时间。

    【讨论】:

    • 当我删除 .timestamp() 时,它显示“预期类型 'timedelta',得到了 'DateTimeField' 。
    • 您的settings 中有USE_TZ=True 吗?如果没有,请使用datetime.now()
    • 是的,我在设置中有 USE_TZ=True。那么接下来呢?
    • 试试return self.started_from >= (datetime.datetime.now() - datetime.timedelta(days=1))
    • 它显示 'Nonetype' 和 'datetime.datetime' 的实例之间不支持 '>=' 。
    猜你喜欢
    • 2019-04-14
    • 2019-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-28
    • 2018-03-06
    • 2020-02-12
    相关资源
    最近更新 更多