Hello,
I'm trying to use the versioning recipe describe on the website along
with a multi-level inheritance model (Joined-Table inheritance)
Here are my declarative statements:
[code]
class Sample(Base):
__metaclass__ = VersionedMeta
__tablename__ = 'sample'
__table_args__ = {'schema': 'test'}
id = Column(Integer, primary_key=True)
discriminator = Column('type', String(50))
token = Column(String(128), nullable=False)
source_sample_id = Column(Integer, ForeignKey('test.sample.id'))
children = relationship("Sample", backref=backref('source_sample',
remote_side=id), single_parent=True)
__mapper_args__ = {'polymorphic_on': discriminator,
'polymorphic_identity':'sample'}
def __init__(self, token, source_sample_id=None):
self.token = token
self.source_sample_id = source_sample_id
class Tissue(Sample):
__metaclass__ = VersionedMeta
__tablename__ = 'tissue'
__mapper_args__ = {'polymorphic_identity': 'tissue'}
__table_args__ = {'schema': 'test'}
id = Column(Integer, ForeignKey('test.sample.id'),
primary_key=True)
concentration = Column(String(32))
def __init__(self, token, concentration, source_sample_id=None):
super(Sample, self).__init__(token, source_sample_id)
self.concentration = concentration
class LeukemicTissue(Tissue):
__metaclass__ = VersionedMeta
__tablename__ = 'leukemic_tissue'
__mapper_args__ = {'polymorphic_identity': 'leukemic_tissue'}
__table_args__ = {'schema': 'test'}
id = Column(Integer, ForeignKey('test.tissue.id'),
primary_key=True)
leukemia = Column(String)
def __init__(self, token, concentration, leukemia,
source_sample_id=None):
super(Tissue, self).__init__(token, concentration,
source_sample_id)
self.leukemia = leukemia
[/code]
Whenever I try to "create_all()" I get the following error:
sqlalchemy.exc.ArgumentError: Can't find any foreign key relationships
between 'tissue_history' and 'leucegene_tissue_history'.
Single level-inheritance works beautifully (ie if I stop at "Tissue"
and don't declare the "LeukemicTissue") but I really need a multi-
level inheritance scheme to work..
Can anyone give me any pointers ?
Thanks !!
--
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.