Übergeben Sie den Feldnamen an distinct Funktion:
model_results = teilnehmer.objects.filter(**{filter: term}).order_by().distinct(field)
Außerdem ist Ihr Ansatz sehr unsicher, da Sie GET validieren sollten Werte, bevor Sie sie an QuerySet übergeben . Verwenden Sie vielleicht Django-Formulare?
Lesen Sie auch die Dokumentation zu distinct Funktion hier