Thank you very much

On Tue, Oct 25, 2011 at 3:46 PM, Michael Bayer <mike...@zzzcomputing.com>wrote:

> you can use a "dynamic" relationship which allows you to say:
>
> some_parent.items.order_by(items.c.id.desc())
>
>
> http://www.sqlalchemy.org/docs/orm/collections.html#dynamic-relationship-loaders
>
>
> On Oct 25, 2011, at 5:02 AM, neurino wrote:
>
> > I need to change a collection order_by when a parent instance mapped
> > attribute changes.
> >
> > Something like this:
> >
> >    parents = Table('parents', metadata,
> >                Column('id', Integer, primary_key=True)
> >                Column('reverse', Boolean, primary_key=True)
> >                )
> >    items = Table('items', metadata,
> >                Column('id', Integer, primary_key=True)
> >                )
> >    ....
> >    mapper(parents, Parent,
> >        properties={
> >            'items': relationship(Item,
> >                    backref='parent',
> >                    collection_class=ItemsList,
> >                    order_by=items.c.id
> >                    )
> >        }
> >
> >>>> parent = session.query(Parent).first()
> >>>> parent.reverse
> >    False
> >>>> parent.items
> >    [<Item 1>, <Item 2>, <Item 3>]
> >>>> parent.reverse = True
> >>>> parent.items
> >    [<Item 3>, <Item 2>, <Item 1>]
> >
> > I already use a custom collection and I could make custom __iter__
> > according to first item (if any) `self.parent.reverse` but it seems to
> > me a bit too tricky.
> >
> > Any advice?
> >
> > Thank you for your support
> >
> > --
> > 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.
> >
>
> --
> 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.
>
>

-- 
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