-Base entity is Party, which has sub-types Person and Organization.
-Using joined table inheritance, with base table 'parties', and sub-
tables 'people' and 'organizations'
-Want to create association class to capture various types of
relationships between parties. Let's say this association would be
called PartyRelationship, which would be many-to-many between parties
to parties.
-Using declarative style
class Party(Base):
__tablename__ = 'parties'
type = Column(Integer)
__mapper_args__ = {'polymorphic_on': type}
id = Column(Integer, primary_key=True)
name = Column(String)
email = Column(String)
password = Column(String)
..
..
class Person(Party):
__tablename__ = 'people'
id = Column(Integer, ForeignKey('parties.id'), primary_key=True)
__mapper_args__ = {'polymorphic_identity': PartyTypes.PERSON}
date_of_birth = Column(String)
..
..
class Organization(Party):
__tablename__ = 'organizations'
id = Column(Integer, ForeignKey('parties.id'), primary_key=True)
__mapper_args__ = {'polymorphic_identity':
PartyTypes.ORGANIZATION}
purpose = Column(String)
..
..
class PartyRelationship(Base):
__tablename__ = 'party_relationships'
from = Column(Integer, ForeignKey('parties.id'), primary_key=True)
to = Column(Integer, ForeignKey('parties.id'), primary_key=True)
type = Column(Integer) # there are different types of
relationships
How would I go about defining a relation in this scenario, which,
instead of being many-to-many between two different tables/objects, is
many-to-many for parties?
Brad
P.S. Really liking sqlalchemy so far. Saves time but doesn't take
away control.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---