Przekaż nazwę pola do distinct funkcja:
model_results = teilnehmer.objects.filter(**{filter: term}).order_by().distinct(field)
Również twoje podejście jest bardzo niepewne, ponieważ powinieneś zweryfikować GET wartości przed przekazaniem ich do QuerySet . Może używasz formularzy django?
Przeczytaj także dokumentację o distinct funkcja tutaj