def test_joined_inheritance(self):
Table(
'simple_sub_items', self.metadata,
Column('simple_items_id', INTEGER, primary_key=True),
Column('data3', INTEGER),
ForeignKeyConstraint(['simple_items_id'], ['simple_items.super_item_id'])
)
Table(
'simple_super_items', self.metadata,
Column('id', INTEGER, primary_key=True),
Column('data1', INTEGER)
)
Table(
'simple_items', self.metadata,
Column('super_item_id', INTEGER, primary_key=True),
Column('data2', INTEGER),
ForeignKeyConstraint(['super_item_id'], ['simple_super_items.id'])
)
assert self.generate_code() == """\
# coding: utf-8
from sqlalchemy import Column, ForeignKey, Integer
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
metadata = Base.metadata
class SimpleSuperItem(Base):
__tablename__ = 'simple_super_items'
id = Column(Integer, primary_key=True)
data1 = Column(Integer)
class SimpleItem(SimpleSuperItem):
__tablename__ = 'simple_items'
super_item_id = Column(ForeignKey('simple_super_items.id'), primary_key=True)
data2 = Column(Integer)
class SimpleSubItem(SimpleItem):
__tablename__ = 'simple_sub_items'
simple_items_id = Column(ForeignKey('simple_items.super_item_id'), primary_key=True)
data3 = Column(Integer)
"""
评论列表
文章目录