我试图创建一个NDB属性子类,它允许我将一个数字存储为ndb.整数属性(如果数字是整数)或作为ndb.FloatProperty公司(如果数字是浮点数)。在
class Integer(ndb.Model):
number = ndb.IntegerProperty()
class Real(ndb.Model):
number = ndb.FloatProperty()
class NumberProperty(ndb.StructuredProperty):
def _validate(self, value):
assert isinstance(value, (int, float))
def _to_base_type(self, value):
if isinstance(value, int):
return Integer(number=value)
else:
return Real(number=value)
def _from_base_type(self, value):
return value.number
然后我创建一个使用这个NumberProperty的测试类,并尝试创建一个实体:
^{pr2}$我收到以下类型错误:init()至少有2个参数(给定1个)。在
请给我一个提示,我应该如何设置所需的子类。我试过很多其他的形式,但都没用。谢谢。在
最后我发现以下方法最有效:
试试这样的方法:
https://developers.google.com/appengine/docs/python/ndb/subclassprop
相关问题 更多 >
编程相关推荐