SQLAlchemy多对多关系:从关联表中选择值

时间:2020-05-21 15:06:13

标签: sqlalchemy flask-sqlalchemy

我正在尝试查询具有以下架构的多对多关系

 private func stopEngine()
 {
      self.engine.inputNode.removeTap(onBus: 0)
      self.engine.stop()
 }

我正在使用以下查询来获取参与者和父母的详细信息,但是我不清楚如何在父母结果集中显示/检索class ParentModel(db.Model): __tablename__ = 'parents' id = db.Column(UUID(as_uuid=True), primary_key=True, default=uuid4) first_name = db.Column(db.String(30)) last_name = db.Column(db.String(30)) phone_no = db.Column(db.String(12)) children = db.relationship('ParticipantModel', secondary='participant_parent') class ParticipantModel(db.Model): __tablename__ = 'participants' id = db.Column(UUID(as_uuid=True), primary_key=True, default=uuid4) subject_id = db.Column(db.Integer) first_name = db.Column(db.String(30)) last_name = db.Column(db.String(30)) parents = db.relationship(ParentModel, secondary='participant_parent') class ParticipantParentModel(db.Model): __tablename__ = 'participant_parent' id = db.Column(UUID(as_uuid=True), primary_key=True, default=uuid4) relationship = db.Column(db.String(20)) # I want this value along with parents dataset participant_id = db.Column(UUID(as_uuid=True), db.ForeignKey('participants.id'), primary_key=True) parent_id = db.Column(UUID(as_uuid=True), db.ForeignKey('parents.id'), primary_key=True) parents = db.relationship(ParentModel, backref=db.backref('parent_assoc')) participant = db.relationship(ParticipantModel, backref=db.backref('participant_assoc')) class ParentSchema(ma.SQLAlchemyAutoSchema): class Meta: model = ParentModel include_fk = True class ParticipantSchema(ma.SQLAlchemyAutoSchema): class Meta: model = ParticipantModel include_fk = True parents = ma.Nested(ParentSchema, many=True) 值。

ParticipantParentModel.relationship

participant_p1 = ParticipantModel.query.filter_by(first_name='p1').first()

对我是否需要更改架构或方法的任何建议表示赞赏。

0 个答案:

没有答案