SQLAlchemy를 사용하여 MySQL DB에 다형성 구조를 만드는 다음과 같은 파이썬 코드가 있습니다.수퍼 클래스에서 서브 클래스 인스턴스화
a = Animal(key=1)
c = a.create()
C 지금은 고양이 또는 그것이 무엇인지 종류에 따라 개 객체가 될 것입니다 :
class Animal(Base):
key = Column(Integer(), Sequence("My Counter" ,1 ,1), primary_key = True)
name = Column(String())
discriminator = Column('type',String())
__mapper_args__ = {'polymorphic_on':discriminator}
def __init__(self,key,name):
self.key = key
self.name = name
class Cat(Animal):
__tablename__ = 'cat'
__mapper_args__ = {'polymorphic_identity':'cat'}
def walk():
pass
class Dog(Animal):
__tablename__ = 'dog'
__mapper_args__ = {'polymorphic_identity':'dog'}
def walk():
pass
나는 가장 좋은 방법은되도록로드 무엇인지 궁금 해서요. 동물 표에는이 정보가 있습니다.
감사
감사합니다. 나는 모두 작동하도록했습니다. 나는 단지 내가 다음과 같은 것을 할 수 있기를 바랐다. a = Animal (1) 그래서 나는 객체를 얻고 싶을 때마다 "session.query ..."를 쓸 필요가 없었다. – user1474424