From 7b211502e87345317cfef580670789d38f2f7cbb Mon Sep 17 00:00:00 2001 From: hangyeol Date: Tue, 25 Jul 2023 02:40:16 +0900 Subject: [PATCH] =?UTF-8?q?[#42]Feat:=20Month=20API=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/data/urls.py | 1 + backend/data/views.py | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/backend/data/urls.py b/backend/data/urls.py index 135a70d..d90da49 100644 --- a/backend/data/urls.py +++ b/backend/data/urls.py @@ -13,4 +13,5 @@ path('recent/', views.get_most_recent_data), path('-//', views.get_one_day_data), path('-/-//', views.get_interval_data), + path('//', views.get_month_data), ] diff --git a/backend/data/views.py b/backend/data/views.py index 7ef2dcf..ec809a5 100644 --- a/backend/data/views.py +++ b/backend/data/views.py @@ -8,6 +8,7 @@ from django.http import JsonResponse from django.db import connection from datetime import datetime, timedelta +from django.db.models import Q from .models import Data from codeNumber.models import codeNumber @@ -273,6 +274,24 @@ def get_interval_data(request, start_month, start_day, end_month, end_day, pet_i timestamp__date__range=[start_date, end_date] ).order_by('timestamp') + for data in queryset: + serializer = ChartSerializer(data) + data_list.append(serializer.data) + + response_data = {'data_list': data_list} + return Response(response_data) + + +@api_view(['GET']) +def get_month_data(request, month, pet_id): + data_list = [] + code_number = codeNumber.objects.get(pet_id=pet_id) + queryset = Data.objects.filter( + code=code_number.device_num, + timestamp__year=2023, + timestamp__month=month + ).order_by('timestamp') # 해당 월의 데이터만 가져오고 날짜 기준으로 정렬 + for data in queryset: serializer = ChartSerializer(data) data_list.append(serializer.data)