Hello,

I have these classes where items (class Item) is related to channel
object. Channel can contain many items:

channel_items = Table(
        "channel_items",
        metadata,
        Column("channel_id", Integer,
            ForeignKey("channels.id")),
        Column("item_id", Integer,
            ForeignKey(Item.id))
    )


class Channel(rdb.Model):
    rdb.metadata(metadata)
    rdb.tablename("channels")

    id = Column("id", Integer, primary_key=True)
    title = Column("title", String(100))

    items = relation(Item, secondary=channel_items,
backref="channels")

class Item(rdb.Model):
    rdb.metadata(metadata)
    rdb.tablename("items")

    id = Column("id", Integer, primary_key=True)
    title = Column("title", String(100))

I know how to get all the columns using something like:

session = rdb.Session() channels =
session.query(Channel).order_by(Channel.title)

However, I'd like to select some columns from both tables with some
conditions in Item. For example, select all the channels where
item.type = 'jpg'. I'd like to get a channel object with items
attributes with that condition for example. How can I do that?

I've tried something like (no one worked out):

result = session.query(Channel).filter(Item.typeItem != 'zeppelin/
channel').all()
result = session.query(Channel, Item).filter(Item.typeItem !=
'zeppelin/channel').all()

Thanks in advance!

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

Reply via email to