私はDjangoフォームを持っています。フィールドの 1 つ (monitoring_method) は、別のフィールド (database_type) のエントリに基づいて結果をフィルタリングするオートコンプリート ライト ウィジェットを使用します。ユーザーが入力した値を送信前に database_type フィールドに取得する方法はありますか? 私はAJAXでそれを行う方法を知っています(またはそれを理解することができました)が、AJAXをオートコンプリートに組み込む方法がわかりません-そしておそらくこれが私の本当の質問です.
class MonitoringMethodAutocomplete(autocomplete_light.AutocompleteBase):
autocomplete_js_attributes = {'placeholder': 'Choose a database type to enable monitoring method selection'}
def choices_for_request(self):
q = self.request.GET.get('q', '')
db_type = self.request.POST.get('database_type')
# if not db_type:
# return []
monitoring_methods = Database.objects.values_list('monitoring_method', flat=True)
return monitoring_methods.filter(database_type__exact=db_type,
name__icontains=q).distinct()
def choices_for_values(self):
return []
編集:だから、私がやろうとしていたことは不可能だと最初は思っていましたが、q
変数が似たようなことをしていることに気付きました...では、なぜ機能しないのdb_type
ですか?