首页 > 解决方案 > 如何在 Django 中将任务标记为已完成时获取日期时间?

问题描述

我正在开发一个维护应用程序,我可以添加任务并通过实现它来获取创建它的确切时间:

created_date = models.DateTimeField(db_column='Date', auto_now_add=True)  # Field name made lowercase.

我有一个名为 done 的字段:

done = models.BooleanField(db_column='Done', default=False)  # Field name made lowercase.

现在我需要的是,当我将完成设置为“真”时,它会给我当时的日期和时间,我该如何实现呢?谢谢

标签: pythondjangodjango-modelsdjango-formsdjango-templates

解决方案


在模型中创建一个方法并调用它

class MyModel (models.Model):
    done = models.BooleanField(db_column='Done', default=False)
    complete_date = models.DateTimeField(blank=True, null=True)

    def set_done(self):
        self.done = True
        self.complete_date = timezone.now()
        self.save()

在您看来,您调用object.set_done()where object is the instanceMyModel


推荐阅读