如何在SQLAlchemy(python,flask)中为模型用户创建多对多关系
问题描述:
我需要创建一个名为 friends 的表,该表应如下所示:
朋友:
- 用户身份
- friend_id
我试图通过SQLALchemy的教程来做到这一点,但是我还没有找到如何使同一张表成为多对多关系。
这是我尝试过的:
# friends table # many to many - user - user _friends = db.Table('friends', db.Column('user_id', db.Integer, db.ForeignKey('users.id')), db.Column('friend_id', db.Integer, db.ForeignKey('users.id')) ) class User(db.Model, UserMixin): # table name in database __tablename__ = 'users' # primary key for table in db id = db.Column(db.Integer, primary_key=True) # email is unique! email = db.Column(db.String(255), unique=True) # password, max = 255 password = db.Column(db.String(255)) # category relation categories = relationship("Category") # cards relation cards = relationship("BusinessCard") # friends friends = db.relationship( 'User', backref="users", secondary=_friends )
它说:
AmbiguousForeignKeysError:无法确定关系User.friends的父/子表之间的联接条件-
有多个外键路径通过辅助表’friends’链接表。指定“
foreign_keys”参数,提供这些列的列表,这些列应被视为包含从辅助表到父表和子表中每个表的外键引用。
有谁知道如何正确地做到这一点?
目前,我有这样的事情:self.process = subprocess.Popen(self.cmd, stdout=subprocess.PIPE)ou ...