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"), )
, чтобы попытаться отправить что-либо, что также не сработало. Может быть, я что-то упустил? Буду признателен за помощь.