Я храню данные автозаполнения в объектах SomeObject и успешно использую следующее для автозаполнения с помощью фильтра на основе текущего пользователя:
views.py
def get_autocompletion_list(request):
if request.is_ajax():
q = request.GET.get('term', '')
results = []
if len(q) > 0:
my_words = SomeObject.objects.filter(owner=request.user.id)
words = my_words.filter(word__startswith=q)
for w in words:
results.append(w.word)
data = json.dumps(results)
else:
data = ''
mimetype = 'application/json'
return HttpResponse(data, mimetype)
шаблон:
<form action="/" method="post" id="">
{% csrf_token %}
{{form.category}}
</form>
<input id="searching">
scripts:
$("#category_id").change(function () {
console.log("selected category")
console.log($(category_id).val())
});
$(function() {
$("#searching").autocomplete({
source: "/api/get_autocompletion_list/",
select: function (event, ui) {
AutoCompleteSelectHandler(event, ui)
},
minLength: 1,
});
});
Теперь я хочу отфильтровать автозаполнение на основе выпадающего списка form.category, я могу получить текущий выбор в форме, но как быЯ отправляю его на просмотр, где я могу выполнить фильтрацию?