首页 > 解决方案 > 当我们在 django 中保存时间字段时添加时间

问题描述

dateTime在模型中有一个字段。名为 dateTime 的字段breakfast_start_time接受输入。我必须保存另一个名为的变量或时间字段(以更好的为准)breakfast_attendence_start_time,其值应自动保存比breakfast_start_time. 为此,我们使用

def save(self, *args, **kwargs):
    #do something
    super().save(*args, *kwargs)

我正在尝试做

breakfast_attendence_start_time = breakfast_start_time - time(15,0)

但它给出了错误

class TimeField does not define '_sub_', so the '-' operator cannot be used on its instances

编辑:

这是完整的代码

class Hostel(models.Model):
    name = models.CharField(max_length=15)
    breakfast_start_time = models.TimeField()
    lunch_start_time = models.TimeField()
    snacks_start_time = models.TimeField()
    dinner_start_time = models.TimeField()

    def save(self, *args, **kwargs):

        super().save(*args, **kwargs)

我正在从管理面板开始时间,我想再添加 4 个变量/字段,比如breakfast_attendence_start_time应该提前 15 分钟自动保存其值,breakfast_start_time我该如何实现。

标签: pythondjango

解决方案


您应该使用字段timedelta来分特定时间。DateTime

import datetime

time_before_15_minute = datetime.datetime.now() - datetime.timedelta(minutes=15)


推荐阅读