김묭의 자기개발
최종 프로젝트 - 2일차 본문
<진행 상황>
1. 프론트
2. 백엔드
# views.py
# 계획표 페이지
class DetailPlanPageView(APIView):
def get(self, request, plan_id):
plan = get_object_or_404(PlanPage, id=plan_id)
serializer = PlanSerializer(plan)
return Response(serializer.data, status=status.HTTP_200_OK)
def patch(self, request, plan_id):
plan = get_object_or_404(PlanPage, id=plan_id)
serializer = PlanSerializer(plan, data=request.data, partial=True)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_200_OK)
else:
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def delete(self, request, plan_id):
plan = get_object_or_404(PlanPage, id=plan_id)
plan.delete()
return Response(status=status.HTTP_204_NO_CONTENT)
# models.py
class PlanPage(models.Model):
note = models.ForeignKey("Note", on_delete=models.CASCADE)
category = models.CharField(max_length=100)
date = models.DateField(auto_now_add=True)
place = models.CharField(max_length=100)
location = models.CharField(max_length=255)
time = models.CharField(max_length=255)
memo = models.CharField(max_length=100)
is_active = models.BooleanField(default=True)
# serializers.py
class PlanSerializer(serializers.ModelSerializer):
class Meta:
model = PlanPage
fields = "__all__"
extra_kwargs = {
"note": {"required": False},
}
- is_active : status를 활용해 4가지 상태로 분류할 예정!
- delete메소드에는 완전삭제가 아닌 Status변경으로 수정할 예정!
<배포 상황>
배포 url : http://miyeong.net
'내일배움캠프 > 최종 프로젝트' 카테고리의 다른 글
최종프로젝트 - 8일차 (0) | 2023.06.16 |
---|---|
최종프로젝트 - 5일차 (0) | 2023.06.12 |
최종 프로젝트 - 4일차 (0) | 2023.06.10 |
최종 프로젝트 - 3일차 (2) | 2023.06.10 |
최종 프로젝트 1일 (0) | 2023.06.06 |