def HandleGetStoriesRequest(request): if request.method != 'GET': badResponse = "{method} Not Allowed".format(method=request.method) return HttpResponseBadRequest(badResponse, content_type="text/plain", status=405) text_content_type = "text/plain" all_story = [] json_data = json.loads(request.body) cat = json_data['story_cat'] region = json_data['story_region'] date = json_data['story_date'] if date != '*': valid_date = date.split('/') date = valid_date[2] + '-' + valid_date[1] + '-' + valid_date[0] if cat == '*' and region == '*' and date == '*': obj_set = Story.objects.all() if cat != '*' and region == '*' and date == '*': obj_set = Story.objects.filter(Story_Category=cat) if cat != '*' and region != '*' and date == '*': obj_set = Story.objects.filter(Story_Category=cat, Story_Region=region) if cat != '*' and region != '*' and date != '*': obj_set = Story.objects.filter(Story_Category=cat, Story_Region=region, Post_Date__gte=date) if cat == '*' and region != '*' and date == '*': obj_set = Story.objects.filter(Story_Region=region) if cat == '*' and region != '*' and date != '*': obj_set = Story.objects.filter(Story_Region=region, Post_Date__gte=date) if cat != '*' and region == '*' and date != '*': obj_set = Story.objects.filter(Story_Category=cat, Post_Date__gte=date) if cat == '*' and region == '*' and date != '*': obj_set = Story.objects.filter(Post_Date__gte=date) if len(obj_set) == 0: NoStory = "No Story Found" return HttpResponseBadRequest(NoStory, text_content_type, status=404) for obj in obj_set: datelist = obj.Post_Date.isoformat().split('-') date = datelist[2] + '/' + datelist[1] + '/' + datelist[0] story_dict = { "key": obj.id, "headline": obj.Story_Headline, "story_cat": obj.Story_Category, "story_region": obj.Story_Region, "author": str(obj.Authors.Name), "story_date": str(obj.Post_Date)[:10], "story_details": obj.Story_Details } all_story.append(story_dict) # json_response=serializers.serialize("json",all_story) # json_response=json.dumps(all_story) response = JsonResponse({"stories": all_story}, safe=True) response['Content-Type'] = 'application/json' response.status_code = 200 response.status_phrase = "OK" return response