2016-10-19 15 views
2

スタックオーバーフローに関する他の回答があります。 3日間この問題がありました。私は前にすべての答えを検索しました。私は多くの研究の後にそれを働かせることができないかどうかを尋ねるのを恐れるべきです。1つのモデルに2つの外部キーがあります。sqlalchemy duplicate

所望の結果が一つのモデルで外部キーがSQLAlchemyの

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

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

    user_id = db.Column(db.Integer, db.ForeignKey('user.id')) 
    seller_id = db.Column(db.Integer, db.ForeignKey('user.id')) 

    user = db.relationship(User, foreign_keys=[user_id], backref='user') 
    seller = db.relationship(User, foreign_keys=[seller_id], backref='seller') 

を使用してしかし、私はこのエラー

AmbiguousForeignKeysError: Could not determine join condition between parent/child tables on relationship User.order_history - there are multiple foreign key paths linking the tables. Specify the 'foreign_keys' argument, providing a list of those columns which should be counted as containing a foreign key reference to the parent table. 

を得続けるとは何か、私ドンは間違っていますか?

+0

あなたのsqlalchemyのバージョンは何ですか? – SumanKalyan

+0

Flask-SQLAlchemy V 0.10 flask_sqlalchemyからインポートしたものSQLAlchemy –

+0

'OrderHistory'の主キー列は必要ありませんか? – ozy

答えて

-1

ドキュメントのthis exampleを確認してください。おそらくあなたはsqlalchemyのバージョン< = 0.8を使用しているので、あなたのコードが動作しないのはこのためです。

関連する問題