data = serializers.serialize('json', self.object_list.filter(id=query))
totally solved my problem. I am not sure why json.dumps didnt work but serializer is working like charm with code below.
class CityList(ListView):
template_name = "profile/profile.html"
model = City
def render_to_response(self, context, **response_kwargs):
if self.request.is_ajax() and self.request.GET.get('query'):
query = self.request.GET.get('query')
city_filter = [{'name': i.name,
'id': i.id}
for i in City.objects.filter(
name__icontains=query)]
results = city_filter
return HttpResponse(json.dumps(results),
mimetype='application/json')
if self.request.GET.get('id'):
query = self.request.GET.get('id')
if query:
data = serializers.serialize('json', self.object_list.filter(id=query))
return HttpResponse(data)