I think it's valid to mix Q objects and keyword arguments in a single query, like `list(self.registrations.filter(nest_Q(StudentRegistration.is_valid_qobject(), 'studentregistration'), studentregistration__relationship=rmap[key]).distinct())`.