SQLAlchemy映射器配置和声明性bas

2024-04-19 15:00:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个多媒体存档数据库后端,我想使用联接表继承。我正在使用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是一个鉴别器。现在我想从Record类定义子类AudioRecord,但是我不知道如何使用声明性语法设置多态映射器。我正在寻找以下代码的等效代码(来自SQLAlchemy文档):

^{pr2}$

如何将polymorphic_onpolymorphic_identityinherits关键字传递到由声明性扩展创建的映射器?在

谢谢你 一月


Tags: 代码id数据库声明basestringsqlalchemytype