2012-03-01 2 views
2

다른 클래스 B에서 상속 된 독립 클래스 -A가 있습니다. 클래스 -A에는 자체 테이블이 없으므로 클래스 -B 테이블의 열을 공유합니다. mapper를 사용하여 이러한 클래스를 매핑해야한다면 mapper를 어떻게 작성합니까? 예 : -SQLAlchemy ORM - 하나의 테이블에 두 개의 클래스 속성 추가

class Class_A(object): 

    def __init__(self,name, value): 
     self.name = name 
     self.value = value 

class Class_B(Class_A): 

    def __init__(self, id, amt): 
     self.id = id 
     self.amt = amt 

Table_B = Table('tableB', metadata, 

    Column('id', Integer) 
    Column('name', String(20)) 
    Column('value', String(20)) 
    Column('amt', Integer) 
) 

도와주세요.

+2

당신은 매퍼 (Class_B, Table_B)라고 말할 수 있습니다. Class_A 자체는 매핑되지 않은 채로 남아 있습니다. Class_A를 자체적으로 매핑하려면 Class_A에 대한 테이블에 정확히 무엇이 있어야하는지 명확히해야합니다. – zzzeek

+0

답변 해 주셔서 감사합니다. – Prasadnsr

+0

Class_A 및 Class_B가 Object (독립)에서 상속 받고 동일한 테이블에 속성이있는 경우 매핑이 어떻게 수행됩니까? 현재 object1이 다른 object2 안에있는 시나리오가 있습니다. 이 시나리오도 설명하십시오. – Prasadnsr

답변

1

ORM에 대한 SA 설명서는 관계형 테이블 구조에서 개체 상속을 처리하기위한 다양한 사용 사례를 설명합니다. 유스 케이스가 Single Table Inheritance 모델 인 것 같습니다. 잘 모범을 보인 예제가 있으며 작업하기 쉽습니다.

관련 문제