Ich habe db, dass ich nicht ändern kann, es hat zwei Tabellen "Menschen" und "Beziehung". Die Tabelle 'people' hat Namen, IDs und die Spaltenüberschrift (ja/nein). Die Tabelle 'relation' enthält einen Fremdschlüssel 'people.id' für Eltern und eine 'people.id' für ihr Kind. Ich möchte Spalten in der Tabelle Personen verbinden, so kann ichSQLAlchemy Eins-zu-viele-Beziehung (einzelne Tabelle mit Join-Tabelle)
People.query.filter_by(id='id of the parent')
die Namen der Eltern zu bekommen und es ist Childs. Dies ist mein Code:
class People(db.model):
__tablename__ = 'people'
id = db.Column(db.integer(), primary_key=True
name = db.Column(db.String())
parent = db.Column(db.Integer()) ##0 for no 1 for yes
parent_id=db.relationship('Link',backref=db.backref('Link.parent_id')
class Link(db.Model):
_tablename__ = 'link'
parent_id=db.Column(db.Integer(),db.ForeignKey('people.id'),primary_key=True)
id = db.Column(db.Integer(), db.ForeignKey('people.id'), primary_key=True)
dateofbirth = db.Column(db.Integer())
SQLAlchemy sagt mir:
ArgumentError: relationship 'parent_id' expects a class or a mapper argument (received: <class 'sqlalchemy.sql.schema.Table'>)
Entschuldigen Sie mich, wenn ich vermasselt, aber es ist meine erste Frage hier (und auch die ersten Schritte mit SQLAlchemy)