Ошибка в методе обновления Django drf ModelSerializer

У меня очень странная ошибка, это мой класс сериализатора

class user_ser(ModelSerializer):
    class Meta:
        model = User
        fields = '__all__'
        depth = 1

когда я отправляю запрос API для обновления данных пользователя, я получаю значения по умолчанию для is_staff и is_superuser

на изображении ниже я отправляю только email и пароль

пример : enter image description here

посмотрите, что у меня есть :(

)

это подтвержденные_данные для метода обновления : enter image description here

Я не добавлял is_staff или что-то еще в тело запроса, так почему это происходит.

Это нормальное поведение; is_staff и is_superuser - поля по умолчанию в Django, используемые для авторизации пользователей-администраторов. Вы можете представить их как столбцы в БД.

Настоящая проблема возникает из-за использования fields = '__all__' в классе Meta. Это анти-паттерн, поскольку вы можете раскрыть поля, которые вы не собирались раскрывать. Вы должны явно отображать поля, которые вы собираетесь использовать.

Явное лучше неявного.

Вернуться на верх