【发布时间】:2015-10-04 14:40:33
【问题描述】:
Django 模型有一个 m.created DateTimeField,如何根据已知天数 7、8、90 计算过期日期。
例如,如果 m.created 日期时间戳是今天的 + 有效天数为 30,过期日期字段应为从现在起 30 天。
【问题讨论】:
标签: python django django-models
Django 模型有一个 m.created DateTimeField,如何根据已知天数 7、8、90 计算过期日期。
例如,如果 m.created 日期时间戳是今天的 + 有效天数为 30,过期日期字段应为从现在起 30 天。
【问题讨论】:
标签: python django django-models
为您的模型类添加自定义保存方法。下面的示例代码将仅在创建时自动计算到期日期。记录的后续修改不会触发此自动计算。
class ModelName(models.Model):
created = models.DateTimeField()
expired = models.DateTimeField(blank=True, null=True)
def save(self, *args, **kwargs):
if not self.pk:
self.expired = self.created + datetime.timedelta(days=30)
super(ModelName, self).save(*args, **kwargs)
【讨论】:
如果您想使用上述解决方案,您的代码最好使用信号: https://docs.djangoproject.com/en/1.8/ref/signals/#post-save
【讨论】: