これは私の基本クラスです
class Product(Base):
__tablename__ = 'PRODUCT'
__table_args__ = {'quote':False}
...
id = Column(Integer, name='id_prod', primary_key=True)
type = Column(String(100),name='id_typ_prod')
__mapper_args__ = {'polymorphic_on': type}
したがって、当然、この製品から拡張されたいくつかのクラスがあります。たとえば、電話やケーブルなど、それぞれが独自のテーブルにマップされます。
class Phone (Product):
__tablename__ = 'PHONE'
...
ここで、いくつかの理由で、データベースに対応するテーブルがないクラスである「エイリアス」クラスを作成したいと思います。このようなもの:
class VapourWare(Product):
...
私が行った場合
class VapourWare(Product):
__tablename__ = 'PRODUCT'
__mapper_args__ = {'polymorphic_identity':'VapourWare'}
うまくいくようです。しかし、それは正しい方法ですか、それとも推奨される方法ですか?ここで繰り返し__tablename__ = 'PRODUCT'
ます。