не работает метод обновления в остальном API Framework - PullRequest
0 голосов
/ 07 июля 2019

Я хочу иметь возможность редактировать профиль зарегистрированного пользователя с помощью класса 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)

Не внесено никаких изменений в информацию

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...