2012-04-08 10 views
2

私のsettings.pyでは、America/Chicagoをデフォルトのという変数に使用しています。すぐにdjango 1.4にアップデートするつもりです。 MySqlユーザーとして、アップグレード前に知っておく必要のあることがあれば教えてください。mysql datetimeフィールドをdjango 1.3からdjango 1.4に移行する

1.4にアップグレードする理由は、当然のことながら、1.4オファーをDjangoのタイムゾーンのサポートであり、それは私が現時点ではやっているものに非常に不可欠です。私は、MySQLのタイムスタンプオブジェクトがUTC形式でないことに気付きました(私のモデルはすべてDateTimeField()を使用しています)。

私は何をすべきですか?

答えて

1

私は今、このアップグレードを取り扱っておりますと、残念ながらフォローする明確なパスがありません。 django 1.4の移行ガイドは、データベースの値を変換する必要があることを指示しますが、this isn't possible deterministically

だから、値を変換しますが、夏時間の周りにいくつかのケースでは、変換は完璧ではないだろう移行することを知っている必要があります。私はdjango 1.4で新しいmake_aware(value, timezone)関数を使用してdatetime値を変換する予定で、入力時に1時間を追加した後で変換を再試行して例外を処理します。

ここにあります。specific details and lots more sample code for converting local time to UTC in python

+0

ありがとうございます。私はすでにアップグレードをしています。一部のモジュール(django-notificationやdjango-avatar、あるいはSouthなど)にも変更/更新が必要なため、私の日々がかかりました。私も新しいテンプレートのタイムゾーンフィルタを使用していくつかの問題を抱えていたので、私は私のことを書いた。私のテンプレートフィルタでは、あなたが提案する方法と似た方法も使用します。私はmake_aware()とmake_naive()が非常に有用であることを発見しました。要約すると、移行はあまり簡単ではありませんでした。それは私にしばらく時間がかかりました。私はモデルにもいくつかの変更を加えなければなりませんでした。 – xpanta

関連する問題