Passer le nom du champ à distinct fonction :
model_results = teilnehmer.objects.filter(**{filter: term}).order_by().distinct(field)
De plus, votre approche est très peu sécurisée car vous devez valider GET valeurs avant de les passer à QuerySet . Utiliser les formulaires django peut-être ?
Lisez également les docs sur distinct fonction ici