Flask-SQLAlchemy多对多关系数据

时间:2019-03-15 01:24:54

标签: python flask flask-sqlalchemy

我正在尝试制作一个不和谐的应用程序,但是我无法正确设置关系。我正在使用“成员”关联表将用户链接到服务器。我认为用户和服务器应该保留关系的副本,以便用户可以打印其连接到的所有服务器,并且服务器可以看到其拥有的所有成员。这是我到目前为止的代码。

members = db.Table('members',
    db.Column('member_id', db.Integer, db.ForeignKey('user.id')),
    db.Column('workspace_id', db.Integer, db.ForeignKey('workspace.id')))

class User(db.Model):
    __tablename__="user"
    id=db.Column(db.Integer,primary_key=True)
    username=db.Column(db.String,nullable=False, unique=True)
    workspaces = db.relationship(
        "Workspace",
        secondary=members,
        primaryjoin=(members.c.workspace_id == id),
        backref=db.backref('members', lazy='dynamic'), lazy='dynamic')


class Workspace(db.Model):
    __tablename__="workspace"
    id=db.Column(db.Integer,primary_key=True)
    workspaceName=db.Column(db.String,nullable=False)
    subgroups=db.relationship("subGroup",backref="workspace",lazy=True)
    code = db.Column(db.String, nullable=False)
    users = db.relationship(
        "User",
        secondary=members,
        primaryjoin=(members.c.member_id == id),
        backref=db.backref('members', lazy='dynamic'), lazy='dynamic')

我是从关系的两边追加还是只追加一次?

0 个答案:

没有答案