擅长:python、mysql、java
<p>Ants-Aasma的解决方案要优雅得多,但是如果有意将类定义与表定义分开,则需要使用mapper函数将类映射到表。定义类之后,需要定义表:</p>
<pre><code>building = Table('building', metadata,
Column('id', Integer, primary_key=True),
Column('x', Integer),
Column('y', Integer),
)
commercial = Table('commercial', metadata,
Column('building_id', Integer, ForeignKey('building.id'), primary_key=True),
Column('business', String(50)),
)
residential = Table('residential', metadata,
Column('building_id', Integer, ForeignKey('building.id'), primary_key=True),
Column('numResidents', Integer),
)</code></pre>
<p>然后可以将表映射到类:</p>
<pre><code>mapper(Building, building)
mapper(Commercial, commercial, inherits=Building, polymorphic_identity='commercial')
mapper(Residential, residential, inherits=Building, polymorphic_identity='residential')</code></pre>
<p>然后以蚂蚁Aasma描述的方式与类进行交互。</p>