I've never used Elixir/Plone, I'll try you example with Elixir tomorow and will let you know.
On 24 сент, 18:27, olavgg <[EMAIL PROTECTED]> wrote: > Thank you again for a good answer. I still can't figure this out > though, Im getting the same error message all the time when I > use .join() > Could it be an issue with Elixir which I'm using? Or with Plone/Five? > What about just using a from_statement? > > On Sep 24, 3:16 pm, Alex K <[EMAIL PROTECTED]> wrote: > > > K, seems that I've found the root cause: > > > When you are making the join from query, the syntax is: > > > app.session.query(Sak).join(Sak.prosjektid).filter(.... > > > where Sak.prosjektid is the relation property of the Sak class > > > or you can specify the target in the tuples form: > > > app.session.query(Sak).join((Prosjekt,Sak.prosjekt)), where > > (Prosjekt,Sak.prosjekt) - is the tuple with what you join (first) and > > how you join (second value) > > > when you are using commas inside this join, it thinks of the multiple > > join statements, so it interprets your > > > .join(Prosjekt,Sak.prosjektid) as 2 joins requirements and fails > > > anyway, here is the complete example that works, > > > tables = {} > > > tables['prosjekt'] = Table('prosjekt', metadata, > > Column('prosjektid', Integer, primary_key=True), > > Column('p_prosjektid', Integer, > > ForeignKey('prosjekt.prosjektid')), > > Column('kundeid', Integer), > > ) > > > tables['sak'] = Table('sak', metadata, > > Column('saksnr', Integer, primary_key = True), > > Column('prosjektid', Integer, > > ForeignKey('prosjekt.prosjektid')), > > ) > > > metadata.create_all() > > mappers = {} > > > class Prosjekt(object):pass > > class Sak(object):pass > > > mappers['prosjekt'] = mapper(Prosjekt, tables['prosjekt'], > > properties = { > > 'sak': relation(Sak), > > 'p_prosjekt': > > relation(Prosjekt,remote_side=[tables['prosjekt'].c.prosjektid]) > > }) > > > mappers['sak'] = mapper(Sak, tables['sak'], > > properties = { > > 'prosjekt': relation(Prosjekt), > > }) > > > objects = > > app.session.query(Sak).join(Sak.prosjekt).filter(Prosjekt.kundeid==15000032 > > ).all() > > > #or > > > objects = > > app.session.query(Sak).join((Prosjekt,Sak.prosjekt)).filter(Prosjekt.kundei > > d==15000032).all() > > > On 24 сент, 12:45, olavgg <[EMAIL PROTECTED]> wrote: > > > > Thank you for your answer, > > > > I did as you said but still returns the same error: > > > InvalidRequestError: Mapper 'Mapper|Sak|sak' has no property '<class > > > 'Products.TikkTakk.model.Prosjekt.Prosjekt'>' --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---