如何解决Django Pythonanywhere,模型字段default = timezone.now重复相同的时间多次
我正在pythonanywhere上托管一个Web应用。
在我的一个模型中,我有一个字段,当用户执行特定操作(在这种情况下,提交表单)时捕获日期时间,随后将其记录在数据库中。
from django.utils import timezone
upload_datetime = models.DateTimeField('date uploaded',default=timezone.now())
但是,如下图所示,数据库中的大多数行显示的时间完全相同。在正常情况下,这种情况很少见,因此我在这里假设一个错误。我可以从哪里开始寻找任何帮助吗?
Database entries of upload_datetime
解决方法
您需要传递now
函数,而 not 则不调用该函数,因为这样,当解释类时,该函数将被调用一次,然后重用相同的{{1} }。
datetime
所以没有括号。
但是您实际上不需要自己设置默认值。 Django有一个auto_now_add=…
parameter [Django-doc],用于指定您要使用当前时间戳对其进行初始化:
from django.utils.timezone import now
class MyModel(models.Model):
upload_datetime = models.DateTimeField('date uploaded',default=now)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。