首页 > 解决方案 > 修改后的时间(auto_now)在 Django 上有效,但在部署时在 Heroku 中无效

问题描述

所以这是我在Post(models.Model)类中的代码

class Post(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    date_posted = models.DateTimeField(default=timezone.now)
    date_modified = models.DateTimeField(auto_now=True)
    author = models.ForeignKey(User, on_delete=models.CASCADE)

和home.html中我的代码片段

{% if post.date_modified is not Null %}
<small class="text-secondary font-italic">⁠— modified at {{ post.date_modified }}</small>
{% endif %}

这些代码在 Django 中完美运行,但是,当我将它们部署在 Heroku 中时:date_modified帖子已满(与 的日期和时间相同date_posted),所以date_modified没有Null。即使用户未更新帖子,这也会使它们显示出来。

我已经做了:

  1. python manage.py makemigrations
  2. python manage.py migrate
  3. git add -A, git commit -m "message", git push heroku master
  4. heroku run python manage.py makemigrations
  5. heroku run python manage.py migrate

有谁知道如何解决这个问题或解释为什么会这样?我似乎找不到与此相关的任何解决方案。也许我错过了什么。

标签: pythondjangoheroku

解决方案


推荐阅读