データストアへ日時を保存した時に気付いた事メモ
「Sksk(さくさく)」というクラスが日時型のフィールドを持っており「2009/10/26 00:00:00」から「2009/10/26 00:03:00」まで1秒毎の日時が格納されているとする。(データ数は181)
from google.appengine.ext import db import datetime class Sksk(db.Model): dt = db.DateTimeProperty() # テスト用データ入れ def setTestDateData(self, limit): i = 0 j = 0 for num in range(1, int(limit)): self.dt = datetime.datetime(2009, 10, 26, 0,j,i) if i == 59 : i = 0 if j == 59 : j = 0 else : j += 1 else : i += 1 self.put() return None sk = Sksk() sk.setTestDateData(181)
気になったところは0秒の日時データ。型はdatetime型だし、出力すると欲しい形になっているし、、、でも0秒というフィールドが見当たらないように見える。うーんなんだこれ。
for val in Sksk.all() : print val print val.dt print type(val.dt) # Sksk(key_id=1123L, a=None, dt=datetime.datetime(2009, 10, 26, 0, 0), dt_flag=True) # 2009-10-26 00:00:00 # <type 'datetime.datetime'> # 〜略〜 # Sksk(key_id=1183L, a=None, dt=datetime.datetime(2009, 10, 26, 0, 1), dt_flag=True) # 2009-10-26 00:01:00 # <type 'datetime.datetime'> # 〜略〜 # Sksk(key_id=1243L, a=None, dt=datetime.datetime(2009, 10, 26, 0, 2), dt_flag=True) # 2009-10-26 00:02:00 # <type 'datetime.datetime'> # 〜略〜 # Sksk(key_id=1303L, a=None, dt=datetime.datetime(2009, 10, 26, 0, 3), dt_flag=True) # 2009-10-26 00:03:00 # <type 'datetime.datetime'>
データストア側では不要なデータとして保持していないのかしら。保持しない→ゼロと同等って扱いにしてるのかな。何が帰ってくるかは分かったけどピンと来ない…