def create_expense(): print('in create_expense') data = request.get_json() or {} print('') if 'description' not in data or 'cost' not in data or 'user_id' not in data or 'event_id' not in data or 'datetime_recorded' not in data: print('bad request') return bad_request( 'Must include description, cost, user_id, event_id, and datetime_recorded fields.' ) expense = Expense() print('expense = Expense()') expense.from_dict(data) print('expense.from_dict') db.session.add(expense) print('session.add(expense)') db.session.commit() print('session.commit') response = jsonify(expense.to_dict()) print('jsonify response') response.status_code = 201 response.headers['Location'] = url_for('api.get_expense', id=expense.id) return response