ndb.DateTimeProperty を持つ ndb.Model と、ndb.DateTimeProperty を使用してタイムスタンプを作成する ndb.ComputedProperty があります。
import time
from google.appengine.ext import ndb
class Series(ndb.Model):
updatedDate = ndb.DateTimeProperty(auto_now=True)
time = ndb.ComputedProperty(lambda self: time.mktime(self.updatedDate.timetuple()))
私が抱えている問題は、.put() への最初の呼び出しにあります (seriesObj は Series クラスから作成されたオブジェクトです)
seriesObj.put()
ndb.DateTimeProperty は現時点では空です。次のエラーが表示されます。
File "/main.py", line 0, in post series.put()
time = ndb.ComputedProperty(lambda self: time.mktime(self.updatedDate.timetuple()))
AttributeError: 'NoneType' object has no attribute 'timetuple'
これは、ndb.DateTimeProperty が設定されていないためだと言えますが、ndb.ComputedProperty が読み取られる前に設定する方法がわかりません。
これは ndb.ComputedProperty の問題ではありません。これは、ndb.DateTimeProperty セットでテストしたところ、正常に動作するためです。
どんな助けでも素晴らしいでしょう!