コード例 #1
0
ファイル: filters.py プロジェクト: ilov3/MoneyKeeper
 def filter_date(self, name, qs, value):
     try:
         filter_kwargs = {}
         value = json.loads(value)
         start = value.get('start')
         end = value.get('end')
         if start: filter_kwargs.update({'date__gte': to_pydate(start)})
         if end: filter_kwargs.update({'date__lte': to_pydate(end)})
         return qs.filter(**filter_kwargs)
     except Exception as e:
         logger.warning('can\'t filter with provided date: "%s\n The error was: %s"' % (value, e))
         return qs
コード例 #2
0
ファイル: categoryViewSet.py プロジェクト: ilov3/MoneyKeeper
 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})
コード例 #3
0
 def amount(self, request):
     begin = request.query_params.get('begin', None)
     end = request.query_params.get('end', None)
     kind = request.query_params.get('kind', None)
     income = self.get_queryset().get_amount(kind, to_pydate(begin), to_pydate(end))
     return Response({'result': income})