コード例 #1
0
 def post(self, request):
     """ 新增某学号数据 """
     request_data = request.body.decode('utf-8')
     python_dict = json.loads(request_data, encoding='utf-8')
     # 反序列化
     serializer = StudentSerializer(data=python_dict)
     try:
         # 反序列化验证
         serializer.is_valid(raise_exception=True)
     except Exception as e:
         return JsonResponse({"msg": "添加失败", "error": serializer.errors}, safe=False)
     # 序列化创建数据,保存
     serializer.save()
     return JsonResponse({"code": "201", "msg": "添加成功", "data": serializer.data}, safe=False)
コード例 #2
0
 def put(self, request, pk):
     """ 修改某学号的数据 """
     student_cls = self.check_pk(pk=pk)
     # 获取前端数据
     request_data = request.body.decode('utf-8')
     python_dict = json.loads(request_data, encoding='utf-8')
     # 反序列化
     serializer = StudentSerializer(instance=student_cls, data=python_dict)
     try:
         serializer.is_valid(raise_exception=True)
     except Exception as e:
         return JsonResponse({"msg": "修改失败", "error": serializer.errors}, safe=False)
     # 序列化修改,保存
     serializer.save()
     return JsonResponse({"code": "201", "msg": "修改成功", "data": serializer.data}, safe=False)
コード例 #3
0
 def put(self, request, pk, format=None):
     student = self.get_object(pk)
     serializer = StudentSerializer(student, data=request.data)
     if serializer.is_valid():
         serializer.save()
         return Response(serializer.data)
     return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
コード例 #4
0
    def put(self, request, primary_key):
        """
        update student

        :author: lishanZheng
        :date: 2020/01/02
        """
        student = self.get_object()
        if student.id != primary_key:
            pass
        data = request.data
        company_data = data.get("company")
        if student.company is None:
            company = Company.objects.create(**company_data)
            student.company = company
            student.save()
        else:
            company_serializer = CompanySerializer(data=company_data,
                                                   partial=True,
                                                   instance=student.company)
            if company_serializer.is_valid():
                company_serializer.save()
        student_serializer = StudentSerializer(data=data,
                                               partial=True,
                                               instance=student)
        if student_serializer.is_valid():
            student_serializer.save()
        return result_util.success(student_serializer.data)
コード例 #5
0
def student_list(request):
   
    if request.method == 'GET':
        student = Student.objects.all()
        serializer = StudentSerializer(student, many=True)
        return Response(serializer.data)

    elif request.method == 'POST':
        serializer = StudentSerializer(data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
コード例 #6
0
    def post(self, request, *args, **kwargs):
        serializer = StudentSerializer(data=request.data)
        if serializer.is_valid():
            student = Student.objects.create_user(
                serializer.validated_data['email'],
                request.data['password'],
                first_name=serializer.validated_data['first_name'],
                last_name=serializer.validated_data['last_name'])

            return Response({
                'student': StudentSerializer(student).data,
                'token': student.auth_token.key
            })

        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
コード例 #7
0
def student_detail(request, pk):
    try:
        student = Student.objects.get(pk=pk)
    except Student.DoesNotExist:
        return Response(status=status.HTTP_404_NOT_FOUND)

    if request.method == 'GET':
        serializer = StudentSerializer(student)
        return Response(serializer.data)

    elif request.method == 'PUT':
        serializer = StudentSerializer(student, data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

    elif request.method == 'DELETE':
        serializer = StudentSerializer(student, data=request.data)
 
        student.delete()
        print("berhasil")
        return Response(status=status.HTTP_204_NO_CONTENT)
コード例 #8
0
 def post(self, request, format=None):
     serializer = StudentSerializer(data=request.data)
     if serializer.is_valid():
         serializer.save()
         return Response(serializer.data, status=status.HTTP_201_CREATED)
     return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)