2

マルチメディア アーカイブ データベースのバックエンドを作成しており、結合テーブルの継承を使用したいと考えています。宣言型拡張機能を使用して SQLAlchemy で Python を使用しています。メディア レコードを保持するテーブルは次のとおりです。

_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_on, polymorphic_identityandキーワードを渡すにはどうすればよいですか?inherits

ありがとうジャン

4

1 に答える 1

1

やっとマニュアルの答えを見つけました。

http://www.sqlalchemy.org/docs/05/reference/ext/declarative.html#joined-table-inheritance

于 2009-04-30T19:28:44.227 に答える