diff --git a/apiserver/apiserver/api/serializers.py b/apiserver/apiserver/api/serializers.py index fca9eba..e885d42 100644 --- a/apiserver/apiserver/api/serializers.py +++ b/apiserver/apiserver/api/serializers.py @@ -422,6 +422,16 @@ class MemberCountSerializer(serializers.ModelSerializer): model = models.StatsMemberCount fields = '__all__' +class SignupCountSerializer(serializers.ModelSerializer): + month = serializers.SerializerMethodField() + + class Meta: + model = models.StatsSignupCount + fields = '__all__' + + def get_month(self, obj): + return str(obj.month)[:7] + class HistoryChangeSerializer(serializers.ModelSerializer): class Meta: diff --git a/apiserver/apiserver/api/views.py b/apiserver/apiserver/api/views.py index c4b5dba..04203bf 100644 --- a/apiserver/apiserver/api/views.py +++ b/apiserver/apiserver/api/views.py @@ -390,6 +390,11 @@ class MemberCountViewSet(Base, List): queryset = models.StatsMemberCount.objects.all() serializer_class = serializers.MemberCountSerializer +class SignupCountViewSet(Base, List): + pagination_class = None + queryset = models.StatsSignupCount.objects.order_by('-month')[:16][::-1] + serializer_class = serializers.SignupCountSerializer + class BackupView(views.APIView): def get(self, request): diff --git a/apiserver/apiserver/urls.py b/apiserver/apiserver/urls.py index 675f1a3..fec6352 100644 --- a/apiserver/apiserver/urls.py +++ b/apiserver/apiserver/urls.py @@ -20,6 +20,7 @@ router.register(r'sessions', views.SessionViewSet, basename='session') router.register(r'training', views.TrainingViewSet, basename='training') router.register(r'transactions', views.TransactionViewSet, basename='transaction') router.register(r'charts/membercount', views.MemberCountViewSet, basename='membercount') +router.register(r'charts/signupcount', views.SignupCountViewSet, basename='signupcount') #router.register(r'me', views.FullMemberView, basename='fullmember') #router.register(r'registration', views.RegistrationViewSet, basename='register')