Добавление значения пароля к сериализованным данным во время обновления и установка нового разрешения (drf) - PullRequest
0 голосов
/ 29 марта 2020

Я использую django rest Framework и DjangoModelPermissions, я сериализовал модель пользователя по умолчанию для получения информации о пользователях и их разрешениях, а также администратор может изменить разрешение в соответствии с требованиями внешнего интерфейса (некоторые JavaScript ) или сделать некоторого пользователя суперпользователем.

Проблема заключается в том, что когда администратор пытается выполнить оператор PUT с новыми данными, он терпит неудачу. В пользовательской модели пароль является обязательным для заполнения полем. У меня есть токен аутентификации пользователя (который не работает), и я не сериализовал пароль от модели пользователей, и я не хочу.

Я пытался добавить данные сериализации перед сохранением, чтобы добавить еще одно поле "пароль "получая значения с помощью user.objects.get (username = data_from_serializer_data) .password, но я не могу добавить дополнительное поле (поле пароля) к данным сериализатора.

Каков может быть способ достижения моего цели? Как я могу добавить значение пароля в данные сериализатора (в конце), а затем отправить полные данные для обновления.

Также я где-то читал, что serializer.data является свойством, которое не может быть отредактировано. Если это правда, что еще мне нужно сделать, чтобы завершить свою задачу?

Спасибо

1 Ответ

0 голосов
/ 29 марта 2020

Вы можете добавить get_serializer_class после создания CustomUser и переопределения существующего сериализатора.

...