一个模型sqlalchemy中的两个外键重复

时间:2016-10-19 05:55:32

标签: python sqlalchemy

堆叠溢出还有其他答案,我跟着他们。这个问题已经过了3天了,之前我已经搜索了所有的答案,我觉得即使它的重复问题,我也不敢问,经过多次研究后我是否无法让它工作。

所需的结果是使用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.

我错了什么?

2 个答案:

答案 0 :(得分:0)

尝试一下。

combinedframes_add = df1.add(df2.assign(a=0), fill_value=0)
print (combinedframes_add)
   a   b     c   d
0  1   9  aadd  55
1  2  11  bbee  99
2  3  13  ccff  11

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

答案 1 :(得分:-2)

在文档上结帐this example。您可能正在使用sqlalchemy版本< = 0.8,这就是您的代码无法运行的原因。