我有一个ndb.Model
类ProjRoute
,它有一个属性date
,我在模型中声明如下:
class ProjRoute(ndb.Model):
date = ndb.DateTimeProperty(required=True)
priceValue = ndb.FloatProperty(default=None)
attachement = ndb.KeyProperty()
src = PriceFilterProperty()
dest = PriceFilterProperty()
# Required qty
reqQty = ndb.FloatProperty()
ldQty = ndb.FloatProperty(default=0)
unldQty = ndb.FloatProperty(default=0)
amountDue = ndb.FloatProperty(default=0)
scale1 = ndb.FloatProperty(default=0)
scale2 = ndb.FloatProperty(default=0)
toll1 = ndb.FloatProperty(default=0)
toll2 = ndb.FloatProperty(default=0)
port_permit = ndb.FloatProperty(default=0)
port_scale = ndb.FloatProperty(default=0)
maintenance = ndb.FloatProperty(default=0)
other = ndb.FloatProperty(default=0)
fuel = ndb.FloatProperty(default=0)
gratuity = ndb.FloatProperty(default=0)
driver_allow = ndb.FloatProperty(default=0)
adriver_allow = ndb.FloatProperty(default=0)
driver_bonus = ndb.FloatProperty(default=0)
我很确定我在创建一个新的ProjRoute
实例时确实设置了日期值,事实上,我在调用put()
函数时没有遇到任何问题。在
但是,当我试图读取实例时,我得到了一个错误,因为date
属性为null。在
这个错误也不是每次我试图读取一个实例时都会出现,它是任意的。在
我认为GAE本身一定有问题,但是有人知道如何修复它或者知道一个变通方法吗?在
顺便说一下,当我记录任何ProjRoute
实例时,我发现属性存储为GenereicProperty
,而不是FloatProperty
和{
如果您想看看,下面是我创建新实例的代码:
trsPrices = map(float, self.readAll('trs-price'))
for src, dest, price in zip(self.readAll('trs-price-src'), self.readAll('trs-price-dest'), trsPrices):
route = ProjRoute(id=newPrice.src+"-"+newPrice.dest, parent=routeParent)
route.attachement = newPrice.attachement
route.src, route.dest = newPrice.src, newPrice.dest
route.date = trsSrv.sdate
route.priceValue = None
toSave.append(route)
# ... Some irrelevent code
ndb.put_multi(toSave)
同样值得注意的是,我尝试使用route.put()
而不是{
目前没有回答
相关问题 更多 >
编程相关推荐