Вы используете 'q' в качестве строки получения, но виджет автозаполнения jquery ожидает, что он будет называться 'term'. В начале просмотра необходимо внести следующие изменения:
if 'term' in request.GET:
q = request.GET['term']
if not q:
errors.append('Enter a search term.')
...
Редактировать: Следующая часть ответа была добавлена до того, как ОП обновил свой вопрос, и json закодировал результаты.
Вы не можете просто вернуть набор запросов фильмов - он должен быть в формате, понятном виджету автозаполнения. Проще всего вернуть список имен (так же, как в примере, который вы пробовали с языками программирования. Конец вашего представления должен выглядеть примерно так:
# import at the top of your views.py
from django.utils import simplejson
...
movies = Movie.objects.filter(title__istartswith=q,language__in=languages)
results = [ x.title for x in movies ] # this is good, you didn't need to comment it out!
# now encode the results as json, and return them
return HttpResponse(simplejson.dumps(results), mimetype="application/json")
Посмотрите, как вы справляетесь с этим, и оставьте комментарий, если у вас все еще есть проблемы.