2016-10-19 3 views
2

Есть и другие ответы на переполнение стека, и я последовал за ними. Это было 3 дня с этой проблемой, и я уже искал все ответы, и я чувствую, что даже если его повторный вопрос я должен бояться спросить, не могу ли я заставить его работать после долгих исследований.два внешних ключа в одной модели 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 import SQLAlchemy –

+0

Вам не нужен столбец первичного ключа для 'OrderHistory'? – ozy

ответ

-1

Оформить заказ this example на документацию. Вероятно, вы используете версию sqlalchemy < = 0.8, и поэтому код вашего кода не будет работать.

Смежные вопросы