これが私のモデルデザインです:
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)
各グループの下に、グループに属するユーザーに属する5枚のランダムな写真のすべてのグループのリストを取得するにはどうすればよいですか?
私は試した:
g = Group.objects.all()
for group in g:
r = Photo.objects.filter(user.group=group).order_by('?')[:5]
それは与えています:
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
しかし、私のコードが機能したとしても、生成されるクエリが多すぎるため、理想的な方法ではないと思います。
助けてください。