我想在持續的appengine模型中引用不同的類。像:如何在Python中有效保存引用的類類型? (appengine)
class Animal():
def eat(self, food):
return food - 1
class Cat(Animal):
def eat(self, food):
return food - 2
class Dog(Animal):
def eat(self, food):
return food - 3
class Person(db.Model):
name = db.StringProperty()
pet = Animal()
我希望能夠到任何一個貓()或狗()實例分配作爲寵物,保存並可以重新加載一個Person對象,在其引用的原始類型的動物。寵物對象的持久性並不重要,我只想用類的方法定義不同的行爲集。我該怎麼做呢?
謝謝!
'動物'子類'db.Model'還是像你放在這裏一樣嗎?如果'Animal'是一個模型類,那麼你可以在'Person'中使用'ReferenceProperty'來'Animal'。 – RocketDonkey
不,這就是爲什麼我說動物類和它的孩子不是持久的。我想動物類是一個db.Model或db.PolyModel不會解決問題沒有任何持久變量。 – greg