Как ограничить список полей для модели django, сгенерированный с помощью _meta.fields, с помощью фильтра

В своем проекте я пытаюсь получить имена полей модели, которая была выбрана с помощью выпадающего списка. Идея заключается в том, чтобы перечислить все базовые поля выбранной модели, выбрать одно из полей и сохранить комбинацию в модели для использования в сценарии позже.

Для создания списка полей я использую:

    model_fields = [fld.name for fld in modelSelected._meta.fields]

где modelSelected - ранее выбранная модель (отправленная из шаблона с помощью функции Ajax).

Установка работает как задумано с одной оговоркой. Когда я начинаю вводить в поле ввода имя поля модели (используя jQuery autocomplete), все поля модели отображаются в списке (выбора).

Есть ли способ ограничить имена полей в том, что я пытаюсь сделать здесь?

Например, чтобы выполнить автозаполнение на модели HoldingCoy я должен сделать:

    parent_coy = HoldingCoy.objects.filter(name__icontains=q).annotate(value=F('name'),
                                                            label=F('name')).values('holding_coy', 'value', 'label')

Как я могу применить фильтр для ограничения количества полей, отображаемых в выпадающем списке, и добиться эффекта, аналогичного тому, который используется для запроса экземпляра модели (как в примере выше)?

Вернуться на верх