【发布时间】:2021-06-22 19:00:16
【问题描述】:
我正在创建一个 Django 模型,其中:
-
expirationTimeStamp 字段的默认值基于 creationTimeStamp
-
isLive 布尔字段值是基于 expireTimeStamp
我编写了以下函数 expirationTimeCalculation 和 postLiveStatus 并将它们作为默认值分配给字段,但我遇到了错误。我也尝试通过属性(函数)分配给各个字段,但仍然出现错误。
我需要实现的功能之一是用户可以发送自定义的 expireTimeStamp 以及将覆盖默认值,因此,我认为属性(函数)分配不适合 expireTimeStamp 字段。
还有其他方法可以根据 creationTimeStamp 字段设置 expireTimeStamp 字段值吗?
感谢任何反馈!
class Posts(models.Model):
def expirationTimeCalculation(self):
EXPIRATION_DURATION = 86400 #time in seconds
expirationTime = self.creationTimestamp + timedelta(seconds = EXPIRATION_DURATION)
return expirationTime
def postLiveStatus(self):
return (self.expirationTimestamp > timezone.now)
message = models.TextField()
creationTimestamp = models.DateTimeField(default=timezone.now)
expirationTimestamp = models.DateTimeField(default=expirationTimeCalculation)
isLive = models.BooleanField(default=postLiveStatus)
【问题讨论】:
标签: django django-models django-rest-framework