Как суммировать время на основе заданного времени в django?
class Clock(models.Model):
report_submitted_at = models.TimeField()
delivery_time = models.TimeField(null=True, Blank=True)
Я новичок в Django, поэтому мне интересно, как этого добиться. В моей модели report_submitted_at я ввожу время. На основе введенного времени я хочу автоматически сохранять время доставки. Время доставки всегда '04:00:00'. Итак, предположим, я ввел время report_submitted_time '02:00:00'. Время доставки будет '06:00:00' для этой строки.
Я импортировал datetime. Вручную я могу добавить два времени. Но как я могу сохранить время доставки автоматически. Любая помощь будет очень признательна. Спасибо!!!
Вы можете использовать сигналы Django следующим образом.
from django.dispatch import receiver
from django.db import models
@receiver(signal=models.signals.post_save, sender=Clock):
def set_delivery_time(sender, instance, created, **kwargs):
if created: # For new objects, it will be True. In case of updating old object, it will be false
instance.delivery_time = instance.report_submitted_at.replace(hour=instance.report_submitted_at.hour + 4)
instance.save()