django 模型 DateTimeField(默认值=接下来的 3 天)

Sam*_*Sam -2 python django django-models

模型.py

class TestModel(models.Model):
      event = models.DateTimeField(default=next 3-days) 
Run Code Online (Sandbox Code Playgroud)

如何获得未来 3 天的默认值?是否可以?

Ala*_*air 5

你应该使用一个可调用的返回你想要的日期时间,例如:

from datetime import timedelta
from django.utils import timezone

def in_three_days():
    return timezone.now() + timedelta(days=3)

class TestModel(models.Model):
      event = models.DateTimeField(default=in_three_days)
Run Code Online (Sandbox Code Playgroud)

如果您x = datetime.datetime.now() + datetime.timedelta(days = 3)在 Vaibhav 的回答中使用as,x则将在加载模块时计算,而不是在TestModel创建每个新实例时计算。