Sorry but that doesn't work. I get that error OperationalError: near "tag": syntax error. The generated request is
1/QueryR : SELECT item.id, item.itemhash, item.link, item.title, item.summary, item.updated, item.relations_updated, item.rate, item.category FROM item LEFT JOIN item_tag ON ((item.id) = (item_tag.item_id)) tag LEFT JOIN item_tag ON ((tag.id) = (item_tag.tag_id)) WHERE ((tag.term) = ('apple')) ORDER BY updated DESC -fred- On Apr 19, 2007, at 11:52 AM, Oleg Broytmann wrote: > Next time send your questions to the mailing list, please. > > The correct query is: > > items = Item.select( > Tag.q.term == tag, > join=(LEFTJOINOn(Item, ItemTag, Item.q.id == ItemTag.q.itemID), > LEFTJOINOn(Tag, ItemTag, Tag.q.id == ItemTag.q.tagID)) > ) > > On Wed, Apr 18, 2007 at 04:25:11PM -0400, Fred C wrote: >> items = Item.select( >> Tag.q.term == tag, >> LEFTJOINOn(Item, ItemTag, Item.q.id == ItemTag.q.item_id), >> LEFTJOINOn(Tag, ItemTag, Tag.q.id == ItemTag.q.tag_id) >> ) >> >> And I have these objects. >> >> >> class Item(SQLObject): >> class sqlmeta: >> defaultOrder = "-updated" >> >> itemhash = StringCol(length=34, alternateID=True, >> alternateMethodName="byItemhash") >> link = StringCol(length=512, alternateID=True, >> alternateMethodName='byLink') >> title = UnicodeCol(length=96) >> category = IntCol(default=0) >> >> tags = SQLRelatedJoin('Tag', intermediateTable='item_tag', >> createRelatedTable=False, >> joinColumn='item_id', otherColumn='tag_id') >> >> class Tag(SQLObject): >> term = StringCol(length=64) >> category = IntCol(default=0); >> date_in = DateTimeCol(default=datetime.now) >> >> items = SQLRelatedJoin('Item', intermediateTable='item_tag', >> createRelatedTable=False, >> joinColumn='tag_id', >> otherColumn='item_id') >> >> class ItemTag(SQLObject): >> class sqlmeta: >> table = "item_tag" >> >> item = ForeignKey('Item', notNull=True, cascade=True) >> tag = ForeignKey('Tag', notNull=True, cascade=True) >> unique = index.DatabaseIndex(item, tag, unique=True) > > Oleg. > -- > Oleg Broytmann http://phd.pp.ru/ > [EMAIL PROTECTED] > Programmers don't die, they just GOSUB without RETURN. ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ sqlobject-discuss mailing list sqlobject-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss