我有3種型號,用戶,組和考試:在Django,對於用戶,讓這FOREIGNKEY到組他/她所屬的(有效)的所有對象
from django.db import models
from django.contrib.auth.models import User, Group
class Exam(models.Model):
# a lot of fields
solutions_group = models.ForeignKey(Group)
對於模型User
的實例user
我想所有Exam
S IN,其solutions_group
user
所屬。
這是我想到的:
exam_list = []
for group in user.groups.all():
exam_list+= list(group.exam_set.all())
但是,這涉及到多個數據庫查詢。
有沒有更好的方式來做到這一點,涉及lesses查詢?
我使用Python 3.4和1.8的Django。使用上Exam.objects
'Exam.objects.filter (solutions_group__user_set = admin)'不起作用。 'ValueError異常:無法查詢「管理員」:必須是「集團」 instance.'這裏是admin User類型。 –
'Exam.objects.filter(solutions_group__user_set =用戶)'沒有工作。 'ValueError異常:無法查詢「高斯」:必須是「集團」 instance.'這裏的「高斯」是'user.username' –