J'ai passé un certain temps sur cette question et je tourne en rond, sans résultat, alors je me suis dit que je devais m'adresser aux experts !
Utilisation de Flask 0.9
y SQLAlchemy 0.7.9
J'essaie de créer une page de galerie qui contient une collection de galeries. Chaque galerie a une collection de sous-galeries et chaque sous-galerie a une collection de photos. Ma première tentative, illustrée ci-dessous, ne fonctionne manifestement pas :
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)
et renvoie cette erreur :
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.
J'ai fait des recherches sur les configurations de relations alternatives mais je ne suis pas sûr à 100% de ce dont j'ai besoin. Mon instinct me dit que j'ai besoin d'une Adjacency Relationship
mais je n'ai pas été capable d'aller très loin avec ça. J'ai tenté un mappage de plusieurs à plusieurs, mais je n'ai pas vu beaucoup de matériel pour mapper 3 classes ensemble.
J'apprécie VRAIMENT toute contribution et tout aperçu que vous avez à offrir à ce sujet et merci !