Я пытаюсь рассчитать вход и выход из системы и преобразовать его в общее количество часов. Если время превышает 9 часов, следует рассчитать OThours. Затем сохраните общее количество часов и OThours в моей модели. Как я могу go обойти это? Я знаю, что это с помощью свойства, но я не уверен, как получить правильный синтаксис с этим.
Мне просто нужен совет и понимание того, что делать, любая помощь приветствуется TIA.
Вот мой код:
testuser = models.ForeignKey(User,on_delete = models.CASCADE,unique_for_date= 'reportDate')
status = models.CharField(max_length=30, choices=STATUS_CHOICES,null=True)
reportDate = models.DateField(blank=False, null=False)
login = models.TimeField(blank=False, null=False)
logout = models.TimeField(blank=False, null=False)
totalHours = models.DecimalField(max_digits=4,decimal_places=2,null=True)
OTHours = models.DecimalField(max_digits=4,decimal_places=2,null=True)
mainTasks = models.CharField(max_length=50, blank=False, choices=TASKS_CHOICES, null=True)
remarks = models.CharField(max_length=30,null=True)
def __str__(self):
return f'{self.testuser.full_name} DPR Log'
@property
def CalculateTotalHours(self):
self.totalHours = self.logout.timeDelta - self.login.TimeDelta
return self.TotalHours
@property
def OTHours(self):
if self.totalHours > 9.00:
self.OTHours = self.totalHours-9.00