On Jul 16, 2010, at 7:34 AM, Julien Cigar wrote:
> Hello,
>
> I have the following mappers:
>
> orm.mapper(Content, table.content,
> polymorphic_on = table.content.c.content_type_id,
> ...)
>
> orm.mapper(News, table.news, inherits = Content,
> polymorphic_on = table.content.c.content_type_id)
>
> orm.mapper(PlatformNews, table.platform_news, inherits = News,
> polymorphic_identity = _get_type_id('platform news'))
>
> When I do:
>
> Content.query.with_polymorphic([PlatformNews])
>
> SQLAlchemy forgot to add a JOIN for the news (News) table (because there is
> more than one level of inheritance I guess), I wondered if there was a way to
> do that automatically ?
not sure here but the two possibiltiies are: the extra polymorphic_on, or
perhaps the with_polymorphic() call. I only say that because the second
polymorphic_on is not what the mapper expects and we have a lot of tests for
a->b->c inheritance which work fine. At least, you should only have the
polymorphic_on defined on the Content table. I'm not sure we've exercised
with_polymorphic() as much with multilevel, so perhaps you should place News in
that list as well as a workaround for now (or join to the tables directly).
>
> Thanks,
> Julien
>
> --
> No trees were killed in the creation of this message.
> However, many electrons were terribly inconvenienced.
>
> --
> 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.
>
> <jcigar.vcf>
--
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.