Djangoで構築中のBitMEX用自動売買プログラムですが、テスト実行の際に「RuntimeWarning」が出てたので、その対応方法メモです。
前回の記事で、models.pyの設定を行いました。
Djangoで発生したRuntimeWarningの内容
発生していたメッセージは以下です。
RuntimeWarning: DateTimeField Bitmexmanage.created_at received a naive datetime (2019-05-20 23:53:45.374256) while time zone support is active.
対象の項目は次の通りです。
created_at = models.DateTimeField(default=datetime.now)
RuntimeWarningが発生した原因と対応方法
RuntimeWarningが発生した原因は、datetimeにタイムゾーンが設定されていなかったことでした。
対応方法は、まずmodels.pyに以下を追加します。
from django.utils import timezone
そしてcreated_atの項目を以下のように書き替えます。
created_at = models.DateTimeField(default=timezone.now)
datetime.nowとしていたところを、timezone.nowとします。