Ner*_*ses 27 django timezone django-models timezone-offset
尝试在Django模型中设置密钥到期的时间戳并遇到此问题:
我目前的代码:
key_expires = models.DateTimeField(default=timezone.now() + timezone.timedelta(days=1))
Run Code Online (Sandbox Code Playgroud)
上面的代码可行,但是当使用"timezone.now()"时,它会从Apache重新启动时获取时间戳,因此这不起作用.我做了一些研究,找到了问题的那一部分的解决方案,所以通过将"timezone.now()"替换为"timezone.now",每次创建对象时我都会获得当前时间戳,这是完美的,问题部分解决了.
我在使用"timezone.timedelta(days = 1)"更改日期时遇到问题.
key_expires = models.DateTimeField(default=timezone.now + timezone.timedelta(days=1))
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
key_expires = models.DateTimeField(default=timezone.now + timezone.timedelta(days=1))
Run Code Online (Sandbox Code Playgroud)
TypeError:+:'function'和'datetime.timedelta'不支持的操作数类型
目标是提前24小时设置时间戳.
任何帮助是极大的赞赏.
Kev*_*nry 47
default 需要一个可调用的,所以你只需要编写一个函数来做你想做的事情,然后提供它作为参数:
def one_day_hence():
return timezone.now() + timezone.timedelta(days=1)
class MyModel(models.Model):
...
key_expires = models.DateTimeField(default=one_day_hence)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16684 次 |
| 最近记录: |