2009-04-27 12 views
2

私はマルチメディアアーカイブデータベースのバックエンドを作成しており、結合テーブルの継承を使用したいと思います。私は宣言的な拡張とSQLAlchemyとPythonを使用しています。SQLAlchemy - マッパー構成と宣言的ベース

_Base = declarative_base() 

class Record(_Base): 
    __tablename__ = 'records' 

    item_id = Column(String(M_ITEM_ID), ForeignKey('items.id')) 
    storage_id = Column(String(M_STORAGE_ID), ForeignKey('storages.id')) 
    id = Column(String(M_RECORD_ID), primary_key=True) 
    uri = Column(String(M_RECORD_URI)) 
    type = Column(String(M_RECORD_TYPE)) 
    name = Column(String(M_RECORD_NAME)) 

typeが弁別で次のようにメディアレコードを保持したテーブルです。今では、子クラスA udioRecordをRecordクラスから定義したいと思いますが、宣言的構文を使用して多形マッパーを設定する方法はありません。私は(SQLAlchemyのドキュメントから)次のコードと同等のを探しています:

mapper(Record, records, polymorphic_on=records.c.type, polymorphic_identity='record') 
mapper(AudioRecord, audiorecords, inherits=Record, polymorphic_identity='audio_record') 

私は宣言型の拡張によって作成されたマッパーにpolymorphic_onpolymorphic_identityinheritsキーワードを渡すことができますどのように?

は私が最終的に手動で答えを見つけます 月

+0

は、私はあなたがSQLAlchemyのメーリングリスト上でマイクを尋ねる方がいいでしょう、彼は本当に便利だと思います。 –

答えて

関連する問題