检测Django mod中的设置时间是否已过日期

2024-04-25 00:41:01 发布

您现在位置:Python中文网/ 问答频道 /正文

这个代码总是给我错误。我在Django模型中有一个名为invite_sent的字段(datetime),同一模型中的另一个字段称为check_time,Check time是在invite sent之后发生某个操作的时间量。因为某些原因,我的代码无法工作。在

在模型.py在

class Game(models.Model):
    title = models.CharField(max_length=50)
    summery = models.CharField(max_length=500)
    pin = models.CharField(max_length=12)
    key = models.CharField(max_length=12)
    complete = models.BooleanField()
    invite_sent = models.DateTimeField() #<-----------
    check_time = models.IntegerField() #<-----------
    on = models.ForeignKey("Member", related_name="turn", blank=True,  null=True)

在视图.py在

^{pr2}$

Tags: django代码py模型truedatetimetimemodels
1条回答
网友
1楼 · 发布于 2024-04-25 00:41:01

您在这一行有问题hours = (datetime.datetime - g.invite_sent)/60/60

  • 您应该使用datetime.datetime.now()而不是datetime.datetime(它是一个模块对象,您必须调用.now()
  • 减去两个datetime对象得到一个timedelta对象,该对象有一个方法.total_seconds()使用该方法将其转换为小时

所以有缺陷的代码行应该是:

hours = (datetime.datetime.now() - g.invite_sent.replace(tzinfo=None)).total_seconds() / 60 / 60

相关问题 更多 >