我有一个 ndb.Model,它有一个 ndb.DateTimeProperty 和一个使用 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 集对其进行了测试,并且工作正常。
任何和所有的帮助都会很棒!