This code just keeps giving me errors. I have a field (datetime) in my Django model called invite_sent and another field in the same model called check_time Check time is the amount of time after invite sent that a certain action should occur. For some reason, my code wont work.
models.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)
views.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)
You have problems at this line
hours = (datetime.datetime - g.invite_sent)/60/60datetime.datetime.now()instead ofdatetime.datetime(its a module object you have to call.now())datetimeobjects gives atimedeltaobjects which has a method.total_seconds()use that to convert to hoursso the buggy line of code should be: