SQLAlchemy 关系错误

SQLAlchemy relationship error

我确实有这 2 个 calsses als DB 模型试图建立一对多关系:

class User(db.Model):
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True)
    email = db.Column(db.String(255), index=True) #, unique=True)
    firstname = db.Column(db.String(50))
    lastname = db.Column(db.String(50))

    bt_ids = db.relationship("BT", order_by="BT.id", backref="user")



class BT(db.Model):
    __tablename__ = 'bt'
    id = db.Column(db.Integer, primary_key=True)
    bt_id = db.Column(db.String(255), unique=True)
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'))

    user = db.relationship("User", backref=db.backref('bt', order_by=id))

但我想我不太了解建立关系的方式:

ArgumentError: Error creating backref 'user' on relationship 'User.bt_ids': property of that name exists on mapper 'Mapper|BT|bt'

有什么想法吗?

编辑

我实际上想要实现类似 SQLAlchemy

的示例
class User(Base):
    __tablename__ = 'users'
    id = Column(Integer, Sequence('user_id_seq'), primary_key=True)
    name = Column(String(50))
    fullname = Column(String(50))
    password = Column(String(12))
    
    **addresses = relationship("Address", order_by="Address.id", backref="user")**

    def __repr__(self):
        return "<User(name='%s', fullname='%s', password='%s')>" % (
                                self.name, self.fullname, self.password)


                                
class Address(Base):
     __tablename__ = 'addresses'
     id = Column(Integer, primary_key=True)
     email_address = Column(String, nullable=False)
     user_id = Column(Integer, ForeignKey('users.id'))

     **user = relationship("User", backref=backref('addresses', order_by=id))**

     def __repr__(self):
         return "<Address(email_address='%s')>" % self.email_address

UserBTuser_id 属性 之间已经存在 FK 关系,因此您不能创建另一个名为 [=15 的关系=] 在 BT.

class User(db.Model):
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True)
    email = db.Column(db.String(255), index=True) #, unique=True)
    firstname = db.Column(db.String(50))
    lastname = db.Column(db.String(50))
    bts = db.relationship("BT", order_by="BT.id", backref="user")

class BT(db.Model):
    __tablename__ = 'bt'
    id = db.Column(db.Integer, primary_key=True)
    bt_id = db.Column(db.String(255), unique=True)
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'))

现在我明白了...

这是错误的:

user = db.relationship("User", backref=db.backref('bt_ids', order_by =id))

现在可以使用了!