【问题标题】:How to get the Datetime when a task is marked as done in Django?如何在 Django 中将任务标记为已完成时获取日期时间?
【发布时间】:2019-08-16 19:57:38
【问题描述】:

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

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.

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

【问题讨论】:

  • 您能否详细说明“当我将完成设置为 'True' 时它会给我当时的日期和时间”是什么意思。您是否希望在完成设置为 True 时发生操作?
  • 对不起我的英语。我需要的是当我点击一个按钮将任务设置为完成时,它会将当时的日期和时间保存到一个名为“completed_date”的字段中。

标签: python django django-models django-forms django-templates


【解决方案1】:

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

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() 其中 object 是 MyModel 的实例

【讨论】:

  • 我试试就知道了,但看起来效果很好。非常感谢您的宝贵时间!!
猜你喜欢
  • 2014-07-19
  • 2018-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多