I don't think the info I sent last night was particularly clear,
apologies it was late. The code for the classes is below:
# ArkClient - clientprojectshot module
orm.mapper(ArkClient, clients_table, properties={
'contacts':orm.relation(ArkContact,
backref='client'),
'projects':orm.relation(ArkProject,
backref='client',
cascade="all, delete, delete-orphan")
})
# ArkProject - clientprojectshot module
orm.mapper(ArkProject, projects_table, properties={
'contacts': orm.relation(ArkContact,
secondary=project_contact_table,
backref='projects'),
'invoices':orm.relation(ArkInvoice,
backref='project',
cascade="all, delete"),
'shots':orm.relation(ArkShot,
backref='project',
cascade="all, delete, delete-orphan"),
'users':orm.relation(ArkUser,
backref='projects',
secondary=user_projects_primary_table)
})
# ArkInvoice - invoices module
orm.mapper(ArkInvoice, invoices_table, properties={
'entries': orm.relation(ArkInvoiceEntry,
secondary=invoice_entries_primary_table,
backref='invoice',
cascade="all, delete"),
'user': orm.relation(ArkUser, backref='invoice'),
'child_invoices':orm.relation(ArkInvoice,
backref=backref('parent_invoice',
remote_side=[invoices_table.c.id]),
cascade="all",
lazy=False,
join_depth=3)
})
What I am trying to do is query the client of an invoice, and to do
this I need to build a query something along the lines of:
invoice > project > client, and filter by client, or at least I thnk I
need to do this.
So the current query code I have looks something like this:
invoices = query(ArkInvoice).\
join(ArkInvoice.project).\
join(ArkProject.client).\
options(sa.orm.contains_eager(model.ArkInvoice.project.client)).\
filter(model.ArkInvoice.project.client.id == id)
But this doesn't work, and I've tried many variations around this
theme with no joy. I'm clearly missing something fundamental, but I'm
not sure what. Any pointers gratefully received.
Many thanks,
Jules
On Wed, Jun 8, 2011 at 9:56 PM, Jules Stevenson
<[email protected]> wrote:
> sorry, hit the send button a little too soon.
>
> Any help on the above much appreciated,
>
> Jules
>
--
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.