Advertisement
object_254

partial update User with hash pass

Jan 17th, 2022
574
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # в ModelViewSet:
  2. class UserViewSet(viewsets.ModelViewSet):
  3.     ......
  4.     def update(self, request, *args, **kwargs):
  5.         kwargs['partial'] = True # Включаем частичное обновление
  6.         return super().update(request, *args, **kwargs)
  7.    
  8. # в Serializer:
  9. class UserPostSerializer(serializers.ModelSerializer):
  10.     .....
  11.     def update(self, instance, validated_data):
  12.         # сначала выполняем стандартную процедуру обновления записи
  13.         user = super(UserPostSerializer, self).update(instance, validated_data)
  14.         # если были переданы данные с новым паролем, то захешировать его
  15.         if validated_data.get('password'):
  16.             # в моделе User есть метод set_password, который хеширует
  17.             instance.set_password(validated_data['password'])
  18.             instance.save()
  19.         return user
Advertisement
Advertisement
Advertisement
RAW Paste Data Copied
Advertisement