On Thu, Apr 12, 2018 at 08:25:06PM -0400, Mike Bayer wrote:
> try sending me a long a full POC and Ill try to play with it, any

yep I'll do it ..! I miss some time for now.. but it's definitively on
my todo list. I don't think I have an overly complicated use case, it's
just that I pay a lot of attention on the generated SQL queries.

> reason you arne't using declarative?  the classical mappings are hard
> to work with.

mostly for historical reasons, but also because I prefer the classical
mapping approach (mostly for separation of concerns).

My application (internal CMS) is based on the Pyramid framework and it's
easier to extend the "core" package when the "mapping" part is separated
(maybe it's also possible with the declarative approach, I must admit
that I haven't looked at it in details).

> 
> On Wed, Apr 11, 2018 at 8:32 AM, Mike Bayer <mike...@zzzcomputing.com> wrote:
> > On Wed, Apr 11, 2018 at 6:15 AM, Julien Cigar <julien.ci...@gmail.com> 
> > wrote:
> >> On Tue, Apr 10, 2018 at 11:53:09AM -0400, Mike Bayer wrote:
> >>> On Tue, Apr 10, 2018 at 9:28 AM, Julien Cigar <julien.ci...@gmail.com> 
> >>> wrote:
> >>> > Hello,
> >>> >
> >>> > I wondered if it is possible to use a class mapped against multiple
> >>> > tables as a relationship() in another class?
> >>>
> >>> it is, there's examples at
> >>> http://docs.sqlalchemy.org/en/latest/orm/join_conditions.html#relationship-to-non-primary-mapper
> >>>
> >>> that is map your related class to whatever you want in a non primary
> >>> mapper.   If you are just selecting data you have a lot of options.
> >>>
> >>
> >> Hi Mike,
> >>
> >> Thanks for the link :) I tried and it seems to work,  except in an
> >> inheritance scenario (1). I guess that in a non primary mapper I can't
> >> put my polymorphic_on condition on a Join clause?
> >>
> >> (1) https://gist.github.com/silenius/a237baf8c4bcd79550dc884f2eeb1998
> >
> > this is a lot of code to follow, but if the point of the mutli-table
> > thing you're doing is to game the joined inheritance into doing
> > something, then that's probably not the appropriate use for it.   It
> > looks like you're trying to add all kinds of columns to
> > "ContentTranslation" from the other mappers like Content.
> >
> >
> >>
> >> Thanks!
> >> Julien
> >>
> >>>
> >>> >
> >>> > something like:
> >>> >
> >>> > ### Content
> >>> >
> >>> > content_translation_join = sql.join(
> >>> >   t_content, t_content_translation
> >>> > )
> >>> >
> >>> > orm.mapper(
> >>> >   ContentTranslation, content_translation_join,
> >>> >   polymorphic_on=t_content.c.content_type_id
> >>> > )
> >>> >
> >>> > orm.mapper(
> >>> >   Content, t_content,
> >>> >   polymorphic_on=t_content.c.content_type_id,
> >>> >   properties={
> >>> >     'translations': orm.relationship(
> >>> >       ContentTranslation,
> >>> >       # more stuff here
> >>> >     )
> >>> >   }
> >>> > )
> >>> >
> >>> > ### Document
> >>> >
> >>> > orm.mapper(
> >>> >   DocumentTranslation, t_document_translation,
> >>> >   inherits=ContentTranslation,
> >>> >   polymorphic_identity=some_id
> >>> > )
> >>> >
> >>> > orm.mapper(
> >>> >   Document, t_document,
> >>> >   inherits=Content,
> >>> >   polymorphic_identity=some_id
> >>> > )
> >>> >
> >>> > I tried (1) but it doesn't seems to work so I want to be sure that it's
> >>> > not possible :)
> >>> >
> >>> > Thanks!
> >>> > Julien
> >>> >
> >>> > (1) 
> >>> > https://gist.github.com/silenius/561b13f4b987c36434cd81e2c08cab6e#file-foo-py
> >>> >
> >>> >
> >>> >
> >>> > --
> >>> > Julien Cigar
> >>> > Belgian Biodiversity Platform (http://www.biodiversity.be)
> >>> > PGP fingerprint: EEF9 F697 4B68 D275 7B11  6A25 B2BB 3710 A204 23C0
> >>> > No trees were killed in the creation of this message.
> >>> > However, many electrons were terribly inconvenienced.
> >>> >
> >>> > --
> >>> > SQLAlchemy -
> >>> > The Python SQL Toolkit and Object Relational Mapper
> >>> >
> >>> > http://www.sqlalchemy.org/
> >>> >
> >>> > To post example code, please provide an MCVE: Minimal, Complete, and 
> >>> > Verifiable Example.  See  http://stackoverflow.com/help/mcve for a full 
> >>> > description.
> >>> > ---
> >>> > You received this message because you are subscribed to the Google 
> >>> > Groups "sqlalchemy" group.
> >>> > To unsubscribe from this group and stop receiving emails from it, send 
> >>> > an email to sqlalchemy+unsubscr...@googlegroups.com.
> >>> > To post to this group, send email to sqlalchemy@googlegroups.com.
> >>> > Visit this group at https://groups.google.com/group/sqlalchemy.
> >>> > For more options, visit https://groups.google.com/d/optout.
> >>>
> >>> --
> >>> SQLAlchemy -
> >>> The Python SQL Toolkit and Object Relational Mapper
> >>>
> >>> http://www.sqlalchemy.org/
> >>>
> >>> To post example code, please provide an MCVE: Minimal, Complete, and 
> >>> Verifiable Example.  See  http://stackoverflow.com/help/mcve for a full 
> >>> description.
> >>> ---
> >>> You received this message because you are subscribed to the Google Groups 
> >>> "sqlalchemy" group.
> >>> To unsubscribe from this group and stop receiving emails from it, send an 
> >>> email to sqlalchemy+unsubscr...@googlegroups.com.
> >>> To post to this group, send email to sqlalchemy@googlegroups.com.
> >>> Visit this group at https://groups.google.com/group/sqlalchemy.
> >>> For more options, visit https://groups.google.com/d/optout.
> >>
> >> --
> >> Julien Cigar
> >> Belgian Biodiversity Platform (http://www.biodiversity.be)
> >> PGP fingerprint: EEF9 F697 4B68 D275 7B11  6A25 B2BB 3710 A204 23C0
> >> No trees were killed in the creation of this message.
> >> However, many electrons were terribly inconvenienced.
> >>
> >> --
> >> SQLAlchemy -
> >> The Python SQL Toolkit and Object Relational Mapper
> >>
> >> http://www.sqlalchemy.org/
> >>
> >> To post example code, please provide an MCVE: Minimal, Complete, and 
> >> Verifiable Example.  See  http://stackoverflow.com/help/mcve for a full 
> >> description.
> >> ---
> >> You received this message because you are subscribed to the Google Groups 
> >> "sqlalchemy" group.
> >> To unsubscribe from this group and stop receiving emails from it, send an 
> >> email to sqlalchemy+unsubscr...@googlegroups.com.
> >> To post to this group, send email to sqlalchemy@googlegroups.com.
> >> Visit this group at https://groups.google.com/group/sqlalchemy.
> >> For more options, visit https://groups.google.com/d/optout.
> 
> -- 
> SQLAlchemy - 
> The Python SQL Toolkit and Object Relational Mapper
> 
> http://www.sqlalchemy.org/
> 
> To post example code, please provide an MCVE: Minimal, Complete, and 
> Verifiable Example.  See  http://stackoverflow.com/help/mcve for a full 
> description.
> --- 
> You received this message because you are subscribed to the Google Groups 
> "sqlalchemy" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to sqlalchemy+unsubscr...@googlegroups.com.
> To post to this group, send email to sqlalchemy@googlegroups.com.
> Visit this group at https://groups.google.com/group/sqlalchemy.
> For more options, visit https://groups.google.com/d/optout.

-- 
Julien Cigar
Belgian Biodiversity Platform (http://www.biodiversity.be)
PGP fingerprint: EEF9 F697 4B68 D275 7B11  6A25 B2BB 3710 A204 23C0
No trees were killed in the creation of this message.
However, many electrons were terribly inconvenienced.

-- 
SQLAlchemy - 
The Python SQL Toolkit and Object Relational Mapper

http://www.sqlalchemy.org/

To post example code, please provide an MCVE: Minimal, Complete, and Verifiable 
Example.  See  http://stackoverflow.com/help/mcve for a full description.
--- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Attachment: signature.asc
Description: PGP signature

Reply via email to