Есть такой код:
for p in person.objects.exclude(recording=None):
output+="<a href='/people/"+str(p.id)+"'>"+p.name+"</a> ("+str(len(p.recording_set.all()))+")<br>"
Во второй строке это имя атрибута, и можно заменить p.recordings на getattr(p, 'recordings'+'_set')
А вот в первой recording - это keyword, и как его подставить из строки, я так и не смог выяснить.