Exemplo n.º 1
0
    def post(self, request):
        name = request.data.get('name')
        start_date = request.data.get('start_date')
        end_date = request.data.get('end_date')
        if name is None:
            return Response(status=400, data={"message": "여행 제목을 입력해주세요"})

        if start_date is None:
            return Response(status=400, data={"message": "시작 날짜를 입력해주세요"})

        if end_date is None:
            return Response(status=400, data={"message": "종료 날짜를 입력해주세요"})

        start_date = datetime.datetime.strptime(start_date, "%Y-%m-%d").date()
        end_date = datetime.datetime.strptime(end_date, "%Y-%m-%d").date()

        with transaction.atomic():
            plan = Plan(user=request.user, name=name, start_date=start_date, end_date=end_date)
            plan.save()

            for date in daterange(start_date, end_date):
                schedule = Schedule(plan_id=plan.id, date=date)
                schedule.save()

        result = dict()
        result['data'] = PlanSerializer(plan).data

        return Response(status=200, data=result)