モデルZone、モデルEntity、モデルがありTransitます。Transit最低限、次のように定義されます。
class Entity(db.Model):
__tablename__ = 'entities'
id = db.Column(db.Integer, primary_key=True)
contained_by = db.Column(db.Integer, db.ForeignKey('entities.id'))
contains = db.relationship('Entity', backref='container')
discriminator = db.Column('type', db.String(50))
__mapper_args__ = {'polymorphic_on': discriminator}
class Zone(Entity):
__mapper_args__ = {'polymorphic_identity': 'zones'}
routes = db.relationship('Transit')
(stuff goes here)
class Transit(db.Model):
__tablename__ = "transits"
start = db.Column(db.Integer, db.ForeignKey('zones.id'))
end = db.Column(db.Integer, db.ForeignKey('zones.id'))
Zoneまた、距離とそれがどれほど防御可能であるかについていくつかのビットがありますが、それはこれには関係ありません。
- まず、単一テーブル継承の使用
Zoneからサブクラス化されているという事実のために、参照できますか?Entityzones.id - 第二に、
Zone.routesプロパティはマージTransit.startされTransit.endますか?