Hi - I'm a Django newbie and I have a query that, using the syntax in
the database API, would become very slow. I'm wondering what the way
around it is.
I have 3 tables
Group -- contains a list of groups
Item: (each item belongs to a group)
ForeignKey(groupid)
ItemRatingsByGroup: (the rating for each item from each group)
ForeignKey(groupid)
ForeignKey(itemid)
rating
So in the ItemRatingsByGroup Table there at most one row for each
(item, group) combo (some groups may not have rated an item)
I want to list the items in a group - and also show the rating given
by that group. Using SQL this would be a left join from Item to
ItemRatingsByGroup
But using the Django ORM (not using exact syntax)
items = Item.objects.get(groupid=desiredgroupid)
for item in items:
ratings =
item.item_ratings_by_group_set.filter(groupid=desiredgroupid)
#there's only 0 or 1 results
for rating in ratings:
#display the rating with the item
In the Django ORM case, a new query would seem to be executed to get
the ratings for each item.
Is there anything in Django to help me execute this query (I don't
think select_related works backwards). Also on a related note, how do
I find out what queries Django is running?
thanks
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django users" 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/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---