from functools import reduce from datetime import datetime from rest_framework import mixins from rest_framework.viewsets import GenericViewSet from django.utils import timezone from calendar import monthrange def beginning_of_month(year, month): tz = timezone.get_current_timezone() return datetime(year=year, month=month, day=1, tzinfo=tz) def end_of_month(year, month): (_, days) = monthrange(year, month) tz = timezone.get_current_timezone() return datetime(year=year, month=month, day=days, hour=23, minute=59, second=59, tzinfo=tz) class ProductViewSet(mixins.CreateModelMixin, mixins.RetrieveModelMixin, mixins.ListModelMixin, GenericViewSet): """ A customer-facing viewset that provides default `create()`, `retrieve()` and `list()`. """ pass