Quindi, ci sono alcune domande e risposte che toccano questo problema ma non riesco a riconciliarle esattamente con quello che sto cercando di ottenere.SQLALchemy Configurazione della relazione di molti a molti modelli con modelli polimorfici
Ho una serie di modelli che sono auto-referenziale ed ereditato. Questo è il design di base.
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)
Ho provato un paio di modi diversi per creare un "org" e un rapporto di "membri" su ciascuno di questi tipi. Qualche consiglio su come definire gli attributi relationsihp()
?
+1 come prima della singola tabella polimorfico tiene le due classi, qui la relazione molti-molti la tabella è esposta come una proprietà di raccolta usando back-ref che penso sia standard – jayprich