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
<droolz...@googlemail.com> 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 sqlalchemy@googlegroups.com.
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to