【发布时间】:2015-08-12 17:55:13
【问题描述】:
鉴于我有这些模型:
class Student(Model):
pass
class Exam(Model):
student = models.ForeignKey(Student)
is_hard = models.BooleanField(...)
is_completed = models.BooleanField(...)
我将如何过滤符合这些条件的学生查询集:
- 已完成考试和硬考试的学生。 (即学生可能有一门很难的考试,另一门是已完成的)
- 完成考试的学生,这也是一项硬考试。 (同一个考试必须既困难又完成)。
我相信后者的回答是:
Student.objects.filter(exam__is_hard=True, exam__is_completed=True)
但我如何获得前者?
【问题讨论】:
标签: django django-models django-queryset django-orm django-filter