У меня есть модель игры и модель ActiveGame. Я хочу отслеживать текущие игры, которые будут иметь start_time (текущее время) и end_time (время начала - Game.duration)
Это моя модель (отредактирована для удобства чтения):
class Game(models.Model):
title = models.CharField(max_length=255,null=False, blank=False)
tiempo = models.DurationField(null=True, blank=True,default="00:60:00")
def get_end_time():
return datetime.now() + timedelta(1d) --> here I want to retrieve Game.tiempo
class ActiveGame(models.Model):
game = models.ForeignKey(Game, on_delete=models.CASCADE)
user = models.ForeignKey(User, on_delete=models.CASCADE)
start_time = models.DateTimeField(default=timezone.now)
end_time = models.DateTimeField(default=get_end_time)
Я определил значение start_time по умолчанию в отдельной функции, как рекомендовано, и отлично работает с жестко запрограммированными значениями, но я хочу получить эту информацию из модели Game.
Я пробовал много вариантов:
def get_end_time(self):
return datetime.now() + timedelta(self.Game.tiempo)
end_time = models.DateTimeField(default=get_end_time(self))
Я не могу понять, как поле, вызывающее функцию, может собирать информацию о другой модели, которая уже связана с внешним ключом