Here's my model design:
class Group(models.Model):
    name  = models.CharField(max_length=30)
    ...
class User(models.Model):
    name              = models.CharField(max_length=50)
    ...
    group             = models.ForeignKey(Group)
class Photo(models.Model):
    title                = models.CharField(max_length=100)
    ...
    user                 = models.ForeignKey(User)
How can I get a list of all groups, under each group 5 random photos which belong to users belonging to the group?
I tried:
g = Group.objects.all()
for group in g:
    r = Photo.objects.filter(user.group=group).order_by('?')[:5]
That is giving:
Django Version: 1.4.3
Exception Type: SyntaxError
Exception Value:    
keyword can't be an expression (views.py, line 37)
Exception Location: /PATH/python2.7/site-packages/django/utils/importlib.py in import_module, line 35
Python Executable:  /PATH/python
Python Version: 2.7.3
But even if my code worked, I don't believe it's the ideal way since it will generate too many queries.
Please help.
 
     
    