20
この問題に触れる質問と回答がいくつかありますが、これを達成しようとしているものと正確には一致させることはできません。SQLALchemyポリモーフィックモデルを使用した多対多リレーションシップコンフィグレーション
私は自己参照と継承されているモデルのセットを持っています。これが基本設計です。
class BaseUser(db.Model):
id = db.Column(db.Integer, primary_key=True, nullable=False)
org = db.Column(db.Boolean, default=False, nullable=False)
# Shared Fields
__mapper_args__ = {
'polymorphic_on': org,
}
class Customer(BaseUser):
# Customer Fields
__mapper_args__ = {
'polymorphic_identity': 0
}
class Organization(BaseUser):
# Organization Fields
__mapper_args__ = {
'polymorphic_identity': 1
}
class CustomerOrganization(db.Model):
user_id = db.Column(db.ForeignKey('customer.id', ondelete=CASCADE, onupdate=CASCADE), primary_key=True, nullable=False)
org_id = db.Column(db.ForeignKey('customer.id', ondelete=CASCADE, onupdate=CASCADE), primary_key=True, nullable=False)
私は「ORGS」とこれらの各タイプの「メンバー」関係を作成するには、いくつかの異なる方法を試してみました。 relationsihp()
の属性を定義する方法についてのアドバイスはありますか?
1つの多型のテーブルには、多くの多の関係ここでは、2つのクラスを保持している以前のようにテーブルは私が標準だと思うback-refを使ってコレクションプロパティとして公開されています – jayprich