영구적 인 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 객체를 다시로드 할 수있을 수 있어야합니다. 애완 동물 개체에 대한 지속성은 중요하지 않으며 클래스의 메서드를 사용하여 다양한 동작 집합 만 정의하려고합니다. 어떻게해야합니까?
감사합니다.
'Animal' 하위 클래스 인'db.Model'이 있습니까? 아니면 정확히 여기에 넣은 것과 똑같습니까? 'Animal'이 모델 클래스라면,'Person'에서'Animal'에'ReferenceProperty'를 사용할 수 있습니다. – RocketDonkey
아니, 아니, 나는 Animal 클래스와 그 자식들이 영속적이지 않다라고 말한 이유 다. 나는 Animal 클래스를 db.Model 또는 db.PolyModel로 만들면 영구 변수가 없어도 문제가 해결되지 않는다고 생각합니다. – greg