On Wed, Feb 25, 2015 at 06:10:55PM -0500, Michael Bayer wrote:
> 
> 
> Julien Cigar <jci...@ulb.ac.be> wrote:
> 
> > On Thu, Feb 19, 2015 at 11:31:10AM -0500, Michael Bayer wrote:
> >> Julien Cigar <jci...@ulb.ac.be> wrote:
> >> 
> >>> On Thu, Feb 19, 2015 at 02:45:43PM +0100, Julien Cigar wrote:
> >>>> Hello,
> >>>> 
> >>>> I'm using SQLAlchemy 0.9.8 with PostgreSQL and the reflection feature of
> >>>> SQLAlchemy.
> >>>> 
> >>>> I have the following tables (only relevant parts are show):
> >>>> https://gist.github.com/silenius/390bb9937490730741f2
> >>>> 
> >>>> and the "problematic" mapper is the one of my association object:
> >>>> https://gist.github.com/silenius/1559a7db65ed30a1b079
> >>>> 
> >>>> SQLAlchemy complains with the following error:
> >>>> "sqlalchemy.exc.InvalidRequestError: One or more mappers failed to
> >>>> initialize - can't proceed with initialization of other mappers.
> >>>> Original exception was: Could not locate any simple equality expressions
> >>>> involving locally mapped foreign key columns for primary join condition
> >>>> 'pool_invite_result.pool_invite_pool_id = pool_invite.pool_id AND
> >>>> pool_invite.pool_id = pool.id' on relationship PoolAccountResult.pool.
> >>>> Ensure that referencing columns are associated with a ForeignKey or
> >>>> ForeignKeyConstraint, or are annotated in the join condition with the
> >>>> foreign() annotation. To allow comparison operators other than '==', the
> >>>> relationship can be marked as viewonly=True."
> >>>> 
> >>>> The problem is that in the PoolAccountResult mapper I want a
> >>>> relationship to the Pool but the link is made through an intermediate
> >>>> table (pool_invite) ..
> >>>> 
> >>>> Any idea how to handle this with SQLAlchemy ?
> >>>> 
> >>>> Thanks :)
> >>>> 
> >>>> Julien
> >>> 
> >>> ... and I'm answering to myself: it seems to work with
> >>> https://gist.github.com/silenius/e7e59c96a7277fb5879f 
> >>> 
> >>> does it sound right ?
> >> 
> >> Sure.  Also, you could use automap which does figure these out in simple 
> >> cases: http://docs.sqlalchemy.org/en/rel_0_9/orm/extensions/automap.html
> > 
> > always with this, any idea why SQLAlchemy inserts NULL and
> > NULL for my two relationship (line 51-79) instead of the pool_obj and
> > dup.owner ids (line 89-90), https://dpaste.de/1Trz ..?
> 
> getting a 404 on that link.

Hi Mike,

Thanks for your help!

I took the time to make a complete test case, available from here
https://gist.github.com/silenius/96d6ed2544d14753853f

I'm using PostgreSQL, and I checked that all constraints are properly
created on server-side but I haven't checked with sqllite:// 

> 
> 
> 
> 
> 
> > 
> > Thanks,
> > Julien
> > 
> > 
> >>>> -- 
> >>>> 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.
> >>>> 
> >>>> -- 
> >>>> 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 http://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.
> >>> 
> >>> -- 
> >>> 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 http://groups.google.com/group/sqlalchemy.
> >>> For more options, visit https://groups.google.com/d/optout.
> >> 
> >> -- 
> >> 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 http://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.
> > 
> > -- 
> > 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 http://groups.google.com/group/sqlalchemy.
> > For more options, visit https://groups.google.com/d/optout.
> 
> -- 
> 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 http://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.

-- 
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 http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Attachment: pgpT4H5J8Za6P.pgp
Description: PGP signature

Reply via email to