我有多个类,其中有一些特殊函数,可以用较短的方式查询ndb,如本例所示:
class SomeModel(ndb.Model):
xcode = ndb.StringProperty('c')
descr = ndb.StringProperty('d')
client = ndb.KeyProperty('cl')
order = ndb.IntegerProperty('o')
mod = ndb.DateTimeProperty(auto_now=True)
@classmethod
def q_base(cls, ancestor):
return cls.query(ancestor=ancestor).order(cls.codigo)
函数qu base节省了一些空间,使处理程序中的代码看起来更清晰。但由于相当多的模型需要这个精确的函数,我不得不重复多次,这是一个问题。你知道吗
我该怎么解决?我能做一个基类吗(ndb.模型),在那里添加函数并使其他所有模型都继承它?或者我必须使用PolyModel吗?那看起来怎么样?同时,我也希望能对任何现存实体的未来有所了解。你知道吗
我没有GAE方面的经验,但除非他们做了一些非常奇怪的事情,否则规范的解决方案是使用从
ndb.Model
继承的抽象基类(如果ndb
支持抽象模型类),或者使用mixin:相关问题 更多 >
编程相关推荐