def schools(request): """ Ajax: School autcomplete form field """ if request.is_ajax() and request.method == 'POST' and request.POST.has_key('q'): query = request.POST.get('q') schools = School.objects.filter(name__icontains=query).distinct() response = {} if len(schools) > 0: response['schools'] = [(school.pk, school.name) for school in schools] response['status'] = 'success' return HttpResponse(json.dumps(response), mimetype="application/json") elif request.method == 'POST': # for creating a new school from a form # create new school, hasn't been implemented yet new_school = School() a_school = UsdeSchool.objects.get(id=request.POST['school_id']) new_school.name = a_school.institution_name new_school.location = u"%s, %s" % (a_school.institution_city, a_school.institution_state) new_school.url = a_school.institution_web_address new_school.save() request.user.get_profile().school = new_school request.user.get_profile().save() response = {} return HttpResponse(json.dumps(response), mimetype="application/json") else: # render the browse-schools route response = {} response['schools'] = School.objects.order_by('-karma').all() return render(request, 'n_browse_schools.html', response) raise Http404