新しいオブジェクトに間違ったタイムスタンプを設定しているアプリが heroku にあります。一生理由が分からない。
何が起こっていますか:
heroku-run Web サイトでフォームを送信しています。
Djangoビューは新しいオブジェクトを作成して保存します
models.py には " ts = models.DateTimeField(default = datetime.now(utc)) " があるため、送信時に utc タイムスタンプを保存する必要がありますが (これはローカルで行われます)、heroku ではサーバー起動時のタイムスタンプを保存します。 .
Models.py:
class NewsArticle(models.Model):
link = models.URLField(max_length = 2000)
title = models.CharField(max_length = 300)
img_path = models.CharField(null = True, max_length = 300)
ts = models.DateTimeField(default = datetime.now(utc))
user = models.ForeignKey(User)
hostname = models.CharField(max_length = 300)
deleted = models.BooleanField(default = False)
Views.py:
news_article = NewsArticle(...)
news_article.save()
print news_article.ts
print datetime.now(utc)
import sys
sys.stdout.flush()
heroku ログの対応する出力 (22:00:34 UTC に Heroku サーバーを再起動しました):
2013-01-02T22:01:56+00:00 app[web.1]: 2013-01-02 22:00:34.746547+00:00
2013-01-02T22:01:56+00:00 app[web.1]: 2013-01-02 22:01:56.919520+00:00
そして、15分後にもう一度:
2013-01-02T22:15:46+00:00 app[web.1]: 2013-01-02 22:00:34.746547+00:00
2013-01-02T22:15:46+00:00 app[web.1]: 2013-01-02 22:15:46.489815+00:00
models.py で発生している datetime.now(utc) 呼び出しに問題があることは明らかですが、その理由はわかりません。誰にもアイデアはありますか?