所以我花了一些時間在這個上,並繼續圍繞圈子跑來跑去,所以我想我會來專家!燒瓶SQLAlchemy - 需要幫助映射3個類一起
使用Flask 0.9
和SQLAlchemy 0.7.9
我正在嘗試創建一個具有圖庫集合的圖庫頁面。每個畫廊都有一系列的子畫廊,每個子畫廊都有一系列照片。下面清楚地表明我的第一次嘗試不起作用:
class Gallery(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(64))
subgals = db.relationship('SubGallery', backref='author', lazy='dynamic')
def __repr__(self):
return '<Gallery - %r>' % (self.title)
class SubGallery(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(64))
photos = db.relationship('Photo', backref='author', lazy='dynamic')
gallery_id = db.Column(db.Integer, db.ForeignKey('gallery.id'))
def __repr__(self):
return '<Gallery - %r>' % (self.title)
class Photo(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(64))
href = db.Column(db.String(128))
subgallery_id = db.Column(db.Integer, db.ForeignKey('subgallery.id'))
def __repr__(self):
return '<Photo - %r>' % (self.title)
,並返回該錯誤:
sqlalchemy.exc.ArgumentError: Could not determine join condition between parent/child tables on relationship SubGallery.photos. Specify a 'primaryjoin' expression. If 'secondary' is present, 'secondaryjoin' is needed as well.
我一直在研究替代關係配置,但我不知道100%,我需要什麼。 我的直覺告訴我,我需要一個Adjacency Relationship
,但我一直沒有得到很大的回報。我嘗試了多次映射,但是我沒有看到很多材料如何將3個類映射到一起。
我真的很感謝你們所有人對此提供的意見和見解,謝謝!
是!非常感謝!工作就像一個魅力:D – rogueSF