> id use an association table with its own entity to make things
> easy.
hm, u mean... A.link references that table by single id, and the table 
contains the tuple (discriminator,id) ? But isn't this another sort 
of table-inheritance? looks like a join to me... not that i'm big 
specialist on joins.
And how to automate the secondary loadby(discriminator,id)?

> On Feb 21, 2007, at 10:05 AM, svilen wrote:
> > g'day.
> >
> > How one can make such thing as a reference to concrete-inherited
> > polymorphic mapper?
> > e.g. if there are just two, A and B, B inherits A, both have full
> > concrete tables. A has polymorphic mapper.
> >
> > If both tables have separate primary ids, they will overlap as
> > values - table_A.id=1 for some A() and table_B.id=1 for some B()
> > are both ok; hence, query(A).getby_id(1) would return 2 objects
> > via the polymorphic union.
> > in this case, the unique key within the polymunion seems to be
> > the id+type_discriminator; where type_discriminator effectively
> > means "this id is from that table".
> >
> > i see 2 possibilities here:
> >
> >  - use 2-field key: a tuple of discriminator(table_name) and
> > id-in-that-table. How would one make references to those objects
> > then? e.g. what would be the definition of Column( 'mylink_id',
> > ...) be ? it becomes a link to multiple tables... Would the
> > propertyLoaders support such multi-column key? or make some
> > constructed single key instead?
> >
> >  - use one common sequence for filling both primary-keys of both
> > tables. But this is limited to DBs which support sequences...
> >
> > Any help?
> >
> > ciao
> > svil
>
> 

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@googlegroups.com
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to