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)