Django Filter And-ing of Related vs Original Predicates -
given have these models:
class student(model): pass class exam(model): student = models.foreignkey(student) is_hard = models.booleanfield(...) is_completed = models.booleanfield(...)
how filtered queryset of students matching these criteria:
- students have completed exam , hard exam. (i.e. student may have 1 exam hard , 1 completed)
- students have completed exam hard exam. (the same exam must both hard , completed).
i believe latter answered with:
student.objects.filter(exam__is_hard=true, exam__is_completed=true)
but how former?
use q objects.
student.objects.filter(q(exam__is_hard=true, exam__is_completed=true)|q(exam__is_hard=true)|q(exam__is_completed=true))
Comments
Post a Comment