我想创建一个具有预定义日期时间的字段。像这样的事情:
class MyExample(models.Model):
expiration = timezone.now() + timedelta(days=1)
expiration_date = models.DateTimeField(verbose_name="Expirate in", default=expiration)
...
我不知道这是否是最好的方法,因为当有新的迁移时,表会更新过期
。
有人有什么建议吗?
最佳答案
您在此处将到期日期设置为启动服务器一天后的时间戳。但是,如果您因此运行服务器一周,则所有 expiration_date
都将在您创建 MyExample
时的时间戳之前过期。
您应该定义一个返回到期日期的函数,并将引用传递给该函数作为默认值:
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'
)
关于django - 在 django 中创建自动日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65580752/