def get(self, request, pk, *args, **kwargs): ret = BaseResponse() try: course_data = models.Course.objects.get(pk=pk) ser = CourseSerializer(instance=course_data) ret.data = ser.data except Exception as e: ret.code = 500 ret.error = '獲取數據失敗' return Response(ret.dict)
def get(self, request, *args, **kwargs): ret = BaseResponse() try: course_data = models.Course.objects.all() ser = DegreeCourseSerializer(instance=course_data, many=True) ret.data = ser.data except Exception as e: ret.code = 500 ret.error = '獲取數據失敗' return Response(ret.dict)
def update(self, request, *args, **kwargs): response = BaseResponse() try: course_id = request.data.get('courseid') policy_id = str(request.data.get('policyid')) if request.data.get('policyid') else None key = settings.LUFFY_SHOPPING_CAR % (USER_ID, course_id,) if not CONN.exists(key): response.code = 10007 response.error = '课程不存在' return Response(response.dict) price_policy_dict = json.loads(CONN.hget(key, 'price_policy_dict').decode('utf-8')) if policy_id not in price_policy_dict: response.code = 10008 response.error = '价格策略不存在' return Response(response.dict) CONN.hset(key, 'default_price_id', policy_id) CONN.expire(key, 20 * 60) response.data = '修改成功' except Exception as e: response.code = 10009 response.error = '修改失败' return Response(response.dict)
def destroy(self, request, *args, **kwargs): response = BaseResponse() try: courseid = request.GET.get('courseid') key = settings.LUFFY_SHOPPING_CAR % (USER_ID, courseid,) CONN.delete(key) response.data = '删除成功' except Exception as e: response.code = 10006 response.error = '删除失败' return Response(response.dict)
def get(self, request, *args, **kwargs): # 可利用request.version取版本號 ret = BaseResponse() try: course_data = models.Course.objects.all() # 分頁 page = PageNumberPagination() course_list = page.paginate_queryset(course_data, request, self) ser = CourseSerializer(instance=course_list, many=True) ret.data = ser.data except Exception as e: ret.code = 500 ret.error = '獲取數據失敗' return Response(ret.dict)