其余API框架中不起作用的更新方法

时间:2019-07-07 04:17:11

标签: python django django-rest-framework

我希望能够使用UpdateModelMixin类来编辑注册的用户个人资料。存在要编辑的表单,但是当我们要输入新信息时,将不应用新信息,并显示以前的信息。

models.py:

  class Student(models.Model):
    user = models.OneToOneField(CustomUser, on_delete=models.CASCADE)
    entry_year = models.PositiveIntegerField()
    student_no = models.PositiveIntegerField()

    def get_full_name(self):
        return self.user.first_name + self.user.last_name

    def __unicode__(self):
        return self.get_full_name()

views.py:

    class ProfessorDetailAPIView(DestroyModelMixin, UpdateModelMixin, RetrieveAPIView):
        queryset = Professor.objects.all()
        serializer_class = ProfessorDetailSerializers

        def put(self, request, *args, **kwargs):
            return self.update(request, *args, **kwargs)

        def delete(self, request, *args, **kwargs):
            return self.destroy(request, *args, **kwargs)

serializers.py:

    class ProfessorDetailSerializers(serializers.ModelSerializer):
        user = CustomUserSerializer()
        professor_no = SerializerMethodField()

        class Meta:
            model = Student
            fields = (
                'user',
                'professor_no',
            )

        def get_professor_no(self, obj):
            return str(obj.professor_no)

信息上没有任何更改

0 个答案:

没有答案