views.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. from django.shortcuts import render
  2. from django.core.exceptions import BadRequest
  3. from django.http import HttpResponse, HttpResponseRedirect, JsonResponse
  4. from expenses.models import Expense, MultiplePaymentExepense
  5. def spread_view(request):
  6. if not request.GET.get("month"):
  7. return BadRequest()
  8. else:
  9. expenses = Expense.objects.all()
  10. expenses = (
  11. expenses.filter(date__month=request.GET.get("month"))
  12. .values_list("date", "name")
  13. .order_by("date")
  14. )
  15. multi_expenses = MultiplePaymentExepense.objects.all()
  16. multi_expenses = (
  17. multi_expenses.filter(
  18. first_payment_date__month__lte=request.GET.get("month")
  19. )
  20. .values_list("first_payment_date", "name")
  21. .order_by("first_payment_date")
  22. )
  23. d = {
  24. "date": [obs[0] for obs in expenses],
  25. "count": [obs[1] for obs in expenses],
  26. }
  27. """ for k, v in observations:
  28. d['date'].append(k)
  29. d['count'].append(v) """
  30. return JsonResponse(d)