Django:从今天起给日期字段默认值一个月
Django: Give date field default value of one month from today
在 Django 中,您可以有一个日期字段并将默认值设置为今天。
start_date = models.DateField(default=timezone.now, blank=True, null=True)
如何将默认日期设置为距今天 1 个月?
您可以使用任何可调用对象作为默认值,这样应该可以工作:
from datetime import timedelta
def one_month_from_today():
return timezone.now() + timedelta(days=30)
class MyModel(models.Model):
...
start_date = models.DateField(default=one_month_from_today, blank=True, null=True)
请注意,我使用 days=30
是因为 timedelta
无法将 月 添加到日期值。如果您想到它,"one month from today" 是一个非常开放的语句(例如,当今天是 1 月 31 日时,您希望它如何表现?)。
在 Django 中,您可以有一个日期字段并将默认值设置为今天。
start_date = models.DateField(default=timezone.now, blank=True, null=True)
如何将默认日期设置为距今天 1 个月?
您可以使用任何可调用对象作为默认值,这样应该可以工作:
from datetime import timedelta
def one_month_from_today():
return timezone.now() + timedelta(days=30)
class MyModel(models.Model):
...
start_date = models.DateField(default=one_month_from_today, blank=True, null=True)
请注意,我使用 days=30
是因为 timedelta
无法将 月 添加到日期值。如果您想到它,"one month from today" 是一个非常开放的语句(例如,当今天是 1 月 31 日时,您希望它如何表现?)。