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
[email protected]
https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss