from django.shortcuts import render from django.core.exceptions import BadRequest from django.http import HttpResponse, HttpResponseRedirect, JsonResponse from expenses.models import Expense, MultiplePaymentExepense def spread_view(request): if not request.GET.get("month"): return BadRequest() else: expenses = Expense.objects.all() expenses = ( expenses.filter(date__month=request.GET.get("month")) .values_list("date", "name") .order_by("date") ) multi_expenses = MultiplePaymentExepense.objects.all() multi_expenses = ( multi_expenses.filter( first_payment_date__month__lte=request.GET.get("month") ) .values_list("first_payment_date", "name") .order_by("first_payment_date") ) d = { "date": [obs[0] for obs in expenses], "count": [obs[1] for obs in expenses], } """ for k, v in observations: d['date'].append(k) d['count'].append(v) """ return JsonResponse(d)