Michael Bayer wrote:
> I came up with a very easy way to implement this which I'd like you to
> try out in rev 4060. So far I've tested with a basic joined table
> inheritance setup.
>
> All you do is place class-mapped attributes directly in the join()
> arguments along with strings. and thats it ! so it looks like:
>
> session.query(Media).join(['catalog', CatalogChannel.channel])
>
> The class-attributes can be freely intermixed with the existing string-
> based attributes.
>
> Technically you can place any class-attribute you want in there but it
> only makes sense if it can be joined against the immediately preceding
> attribute or parent mapper. I'm not sure if that restriction could
> change eventually.
model.Media.query.join(["catalog",
model.CatalogChannel.channel]).filter(model.CatalogChannel.c.id_channel==c.playlist.id_channel).all()
generates:
SELECT files.id AS files_id, medias.id AS medias_id, files.name AS
files_name, files.mime AS files_mime, files.date AS files_date,
files.size AS files_size, files.checksum AS files_checksum,
files.description AS files_description, files.type AS files_type,
medias.id_catalog AS medias_id_catalog
FROM catalog_channels, files INNER JOIN medias ON files.id = medias.id
INNER JOIN catalogs ON catalogs.id = medias.id_catalog INNER JOIN
channels ON channels.id = catalog_channels.id_channel
WHERE catalog_channels.id_channel = %s ORDER BY files.name
which returns, with MySQL:
1054, "Unknown column 'catalog_channels.id_channel' in 'on clause'"
As a reminder:
- Media(File)
- CatalogChannel(Catalog) has relation "channel" that Catalog doesn't.
- Channel - one-to-many - CatalogChannel
Regards,
--
Alexandre CONRAD
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---