0
我有多個類,我有在這個例子中查詢NDB在較短的方式,如特殊功能:如何創建適用於GAE中不同Model類的函數?
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?那看起來怎麼樣?另外,如果有任何現存實體會發生什麼情況,我將不勝感激。
儘管多重繼承需要使用PolyModel,但如果我只是創建一個從ndb.Model繼承的BaseClass,然後使其他類從該基類繼承,它將起作用。到目前爲止,一切都按預期工作,謝謝! –