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.