Is there any reason we can't do ```ProgramModule.objects.filter(program=prog).exists()``` (or whatever the query actually is)? I can't remember how performant it is to call ```prog.getModules()``` and then loop through all the modules, but if it's significantly more difficult than doing the exists query, and if there's a chance this page won't get cached (hopefully it is?) it might be better to change that, since this page could potentially be accessed by a lot of people at the same time.