所以我花了一些时间在这上面,一直在兜圈子,一无所获,所以我想我会去找专家!
使用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 个类映射在一起的材料。
我真的很感谢你们为此提供的任何意见和见解,谢谢!!