gpt4 book ai didi

python - 检测自 Django 模型中的日期起是否已过设定时间

转载 作者:太空宇宙 更新时间:2023-11-04 10:50:50 25 4
gpt4 key购买 nike

这段代码一直给我错误。我的 Django 模型中有一个名为 invite_sent 的字段(日期时间),同一模型中的另一个字段名为 check_time 检查时间是 invite sent< 之后的时间量 某个 Action 应该发生。出于某种原因,我的代码无法运行。

模型.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)

View .py

def check_time():
games = Game.objects.filter(complete = False)
for g in games:
hours = (datetime.datetime - g.invite_sent)/60/60 # trying to get hours between now and then
if not hours > g.check_time: #stuff beyond this is not really important to the issue
continue
send_overtime(g)
set_on(g)
send_invite(g)

最佳答案

你在这行 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

关于python - 检测自 Django 模型中的日期起是否已过设定时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14067629/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com