2017-04-13 8 views
0

モデル化したい既存のデータがあります。その本質的:SQLAlchemyのforeignKeyのない多対多定義

class Investor(db.Model): 
    id = db.Column(id, primary_key=True) 
    investments = db.relationship('Investments', backref='investor') 

class Round(db.Model): 
    id = db.Column('id', primary_key=True) 

investments = db.Table(
    'investments', 
    db.Column('investor_id', db.ForeignKey('investor.id')), 
    db.Column('round_id', db.ForeignKey('round.id')), 
) 

、私はこの小さなモデルを実行しようとするたびに、私は次のエラーを取得する: 式「投資は」投資は、する必要があると、私は理解して名前

を見つけることができませんでした私はdb.modelでダミーのクラスを作ろうとしましたが、実際にはうまくいきませんでした。そのバージョンでは、私はプライマリジョインかマッパーかを尋ねるのに問題があります。私はかなり混乱しており、少しの指導が大いに役立つでしょう。

答えて

1

多くの関係に多くの人がInvestorRoundの間にある場合は、次のようにモデルを定義することができます

class Investor(db.Model): 
    id = db.Column(db.Integer, primary_key=True) 
    rounds = db.relationship('Round', secondary=investments, backref='investor') 

class Round(db.Model): 
    id = db.Column(db.Integer, primary_key=True) 

investments = db.Table(
    'investments', 
    db.Column('investor_id', db.Integer, db.ForeignKey('investor.id')), 
    db.Column('round_id', db.Integer, db.ForeignKey('round.id'))) 
関連する問題