Exemple #1
0
 def month_details(self, request):
     date = to_pydate(request.query_params.get('date'))
     kind = request.query_params.get('kind')
     kind = kind if len(kind) == 3 else kind[:3]
     qs = self.get_queryset().filter(kind=kind).annotate_with_amount(first_day(date), last_day(date))
     result = []
     for category in qs:
         if category.transactions_amount:
             data = {
                 'key': category.name,
                 'y': category.transactions_amount,
             }
             result.append(data)
     return Response({'result': result})
Exemple #2
0
 def get_amount(self, kind, fr=None, to=None):
     fr = fr if fr else first_day()
     to = to if to else last_day()
     result = self.filter(kind=kind, date__gte=fr, date__lte=to)
     result = result.aggregate(Sum('amount'))
     return result['amount__sum'] or 0