【发布时间】:2017-04-10 14:23:37
【问题描述】:
我有多个类,我有一些特殊的函数可以以更短的方式查询 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)
函数 q_base 节省了一些空间并使处理程序中的代码看起来更清晰。但是由于很多模型需要这个精确的功能,我必须重复多次,这是一个问题。
我该如何解决?我可以只创建一个 BaseClass(ndb.Model),在那里添加函数并让其他所有模型都继承自它吗?或者我必须为此使用 PolyModel 吗?那看起来怎么样?另外,如果您能了解任何现有实体会发生什么情况,我将不胜感激。
【问题讨论】:
标签: python google-app-engine app-engine-ndb