Django Autocomplete Light, виджет "вперед" не работает

У меня есть следующий код:

forms.py

from dal import autocomplete, forward

class AnalysisForm(forms.Form):
    def __init__(self, *args, **kwargs):
       super().__init__(*args, **kwargs)

    class Meta:
       model = Analysis
       fields = ['method', 'database']
   
    method_type = forms.ChoiceField(choices=[('', ' -- select an option -- ', 'A', 'B')], required=True))
    database = forms.ModelChoiceField(queryset=Database.objects.all(),
                                         required=True,
                                         widget=autocomplete.ModelSelect2(url='database-autocomplete',
                                                                          forward=("method_type", ), 
                                                                          attrs={'data-placeholder': 'Database ...',
                                                                                 'data-minimum-input-length': 1.,
                                                                                 },
                                                                         )
                                   )

views.py

class DatabaseAutocomplete(autocomplete.Select2QuerySetView): # url: database-autocomplete
    def get_queryset(self):
        qs = Database.objects.all()

        print(self.forwarded)

        script_type = self.forwarded.get('method_type')
        print("SCRIPT CHOICE")
        print(script_type)

        if script_type is None:
            qs = Database.objects.none()

Вот что делает этот код: форма принимает значение для method_type и database (которое использует автозаполнение). Я хотел бы, чтобы база данных получала доступ к значению method_type при выполнении функции автозаполнения, но оно не отправляется ( обратите внимание, как я печатаю self.forwarded, но оно всегда пустое). Я также создал несколько вариаций вышеописанного метода, например: forward=(forward.Field("method_type"), ), которые не сработали. Я также использовал: forward=(forward.Const(42, "b"), ), чтобы попытаться отправить что-либо, что также не сработало. Может быть, я что-то упустил? Буду признателен за помощь.

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