У DrTyrsa это почти что было.
test_ids = list(TestSubjectSet.objects.all().values_list('test_id', flat=True))
result = Test.objects.filter(id__in=test_ids, test_begin_time__lt='', test_end_time__gt='')
То, как это делала Tyrsa, не дало бы вам список идентификаторов Test из TestSubjectSet, а вместо этого предоставило бы вам набор запросов TestSubjectSet.
Кроме того, меня смутили поля test_begin_time и test_end_time, потому что вы не упомянули их в своих моделях.
Обновление: Используется list () в наборе запросов, поскольку, согласно ссылке, размещенной DrTyrsa, базы данныхmsgstr "не очень хорошо оптимизировать вложенные наборы запросов".