0
私は、次の3つのSQLAlchemyのモデルを持っている:ここではこの逆参照をトラバースするには、どのSQLAlchemyクエリを実行する必要がありますか?
class MyClassA(db.Model):
myclassa_id = db.Column(db.Integer, nullable=False, primary_key=True)
myfield_1 = db.Column(db.String(1024), nullable=True)
myclassbs = db.relationship("MyClassB", backref="myclassa")
class MyClassC(db.Model):
myclassc_id = db.Column(db.Integer, nullable=False, primary_key=True)
myfield_2 = db.Column(db.String(1024), nullable=False, unique=True)
class MyClassB(db.Model):
legal_document_content_format_id = db.Column(db.Integer, nullable=False, primary_key=True)
myclassa_id = db.Column(db.Integer, db.ForeignKey(MyClassA.myclassa_id), nullable=False)
myclassc_id = db.Column(db.Integer, db.ForeignKey(MyClassC.myclassc_id))
myfield_3 = db.Column(db.String(1024))
__table_args__ = (db.UniqueConstraint('myclassa_id', 'myclassc_id', name='unique_constraint_mcaid_mccid'),)
は、私が何をしたいです:
は、私がa
があると - MyClassA
のインスタンスを。
私はb
を返すようにしたい - MyClassB
のインスタンス - 以下の2つの条件を満たしている:
b
がa
b
の子レコードがMyClassCのインスタンスの子レコードですそれはmy_field2 == "Hello"
が該当しない場合は例外をスローします。 これをコードのいくつかのコンパクトな行でどうすればいいですか?