2
我有一個模型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
從Entity
使用單表繼承我可以引用zones.id
子類? - 其次,
Zone.routes
屬性合併Transit.start
和Transit.end
?
*如果我要補充一個' id'參數設置爲'Zone'並且轉換爲連接表繼承,這樣可以讓我特別指定'zones.id'嗎? *我將如何聲明'Transits'?無法從鏈接的「區域」編輯「Transit」實例,我很好嗎? *我不明白我問了什麼,所以謝謝你的嘗試。在服用「可能導致睏倦」的藥物後,經驗教訓不要提問SO。 – Drakekin
1)如果用'shift',你的意思是:添加列並添加另一個表,然後是。 2)將更新答案以包含代碼。 3)NP :) – van