import json from django.views.generic import DetailView from django.http import HttpResponse from models import City class CityView(DetailView): """ this view is not used yet """ model = City slug_field = 'url' template_name = 'client/city/city.html' def get_city(request): """ returns filtered cities in current language in json format """ if request.is_ajax(): country = request.GET['country'] term = request.GET['term'].capitalize() if not term: qs = City.objects.language().filter(country=country).order_by('translations__name').distinct()[:100] else: qs = City.objects.language().filter(country=country, translations__name__contains=term).distinct() result = [{'id': city.id, 'label': city.name} for city in qs] return HttpResponse(json.dumps(result), content_type='application/json') else: return HttpResponse('not ajax')