read_only_fields не распознается в моих views.py - PullRequest
0 голосов
/ 21 сентября 2019

Я пытаюсь получить эти поля в ответе моей конечной точки, но представление не получает параметр read_only_fields, только один из полей.

Сериализатор:

class UserSerializer(serializers.ModelSerializer):

class Meta:
    model = get_user_model()
    fields = ('email',
              'password',
              'firstName',
              'middleName',
              'firstSurname',
              'lastSurname',)
    read_only_fields = ('is_active', 'is_staff', 'is_doctor')
    extra_kwargs = {'password': {'write_only': True, 'min_length': 5}}

UserView:

class ManageUserView(generics.RetrieveUpdateAPIView):
    """Manage the authenticated user"""
    serializer_class = UserSerializer
    authentication_classes = (authentication.TokenAuthentication,)
    permission_classes = (permissions.IsAuthenticated,)

    def get_object(self):
        return (self.request.user)

1 Ответ

0 голосов
/ 22 сентября 2019

Вам необходимо добавить эти поля в ваш fields раздел UserSerializer


class UserSerializer(serializers.ModelSerializer):
  class Meta:
      model = get_user_model()
      fields = ('email',
                'password',
                'firstName',
                'middleName',
                'firstSurname',
                'lastSurname','is_active', 'is_staff', 'is_doctor',)
      read_only_fields = ('is_active', 'is_staff', 'is_doctor')
      extra_kwargs = {'password': {'write_only': True, 'min_length': 5}}

...