在 Django 中创建自动日期时间
Creating automatic datetime in django
我想创建一个具有预定义日期时间的字段。像这样:
class MyExample(models.Model):
expiration = timezone.now() + timedelta(days=1)
expiration_date = models.DateTimeField(verbose_name="Expirate in", default=expiration)
...
我不知道这是否是最好的方法,因为当有新的迁移时,table 会更新为 expiration
。
有人有什么建议吗?
您在此处将过期日期设置为 启动 服务器一天后的时间戳。但是,如果您因此 运行 服务器一周,则所有 expiration_date
都将在您创建 MyExample
.[=13 时的时间戳 之前 过期=]
您应该定义一个 returns 到期日期的函数,并将 reference 作为默认值传递给该函数:
from datetime import timedelta
from django.utils.timezone import now
def <b>expiration</b>():
return now() + timedelta(days=1)
class MyExample(models.Model):
expiration_date = models.DateTimeField(
<b>default=expiration</b>,
verbose_name='Expirate in'
)
我想创建一个具有预定义日期时间的字段。像这样:
class MyExample(models.Model):
expiration = timezone.now() + timedelta(days=1)
expiration_date = models.DateTimeField(verbose_name="Expirate in", default=expiration)
...
我不知道这是否是最好的方法,因为当有新的迁移时,table 会更新为 expiration
。
有人有什么建议吗?
您在此处将过期日期设置为 启动 服务器一天后的时间戳。但是,如果您因此 运行 服务器一周,则所有 expiration_date
都将在您创建 MyExample
.[=13 时的时间戳 之前 过期=]
您应该定义一个 returns 到期日期的函数,并将 reference 作为默认值传递给该函数:
from datetime import timedelta
from django.utils.timezone import now
def <b>expiration</b>():
return now() + timedelta(days=1)
class MyExample(models.Model):
expiration_date = models.DateTimeField(
<b>default=expiration</b>,
verbose_name='Expirate in'
)