簡體   English   中英

多對多表之間的關系

[英]Relationship across a many-to-many table

我想跨多對多表創建一個關系,一個User具有一個Roles ,該Roles具有一個Project 我希望User中與其Roles相關的所有Projects都具有一種關系。 我用primaryjoinsecondaryjoin嘗試了很多,但是我沒有用。

這是我的模型:

roles_users = db.Table('roles_users',
  db.Column('role_id', db.Integer, db.ForeignKey('role.id')),
  db.Column('user_id', db.Integer, db.ForeignKey('user.id')),
  db.PrimaryKeyConstraint('role_id', 'user_id')
)

class User(db.Model, UserMixin):
  id = db.Column(db.Integer, primary_key=True)
  username = db.Column(db.Unicode(80), unique=True, nullable=False)
  roles = db.relationship('Role', secondary=roles_users, backref='users')
  projects = db.relationship('Project' ???? )

class Role(db.Model):
  id = db.Column(db.Integer, primary_key=True)
  name = db.Column(db.Unicode(80), unique=True, nullable=False)
  project_id = db.Column(db.Integer, db.ForeignKey('project.id'), nullable=False)

class Project(db.Model):
  id = db.Column(db.Integer, primary_key=True)
  name = db.Column(db.Unicode(80), nullable=False)
  roles = db.relationship('Role', backref='project')

問題出在您的“參考”中。 我為您提供了以下鏈接,這些鏈接將幫助您了解約束和關系。

http://docs.sqlalchemy.org/en/rel_0_9/orm/relationships.html#many-to-many

這是我最適合關聯的鏈接。

http://docs.sqlalchemy.org/en/rel_0_9/orm/relationships.html#association-object

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM