From b64727e04c867c3365b16679413e60ec12ebe32a Mon Sep 17 00:00:00 2001 From: "Jiangjie.Bai" Date: Tue, 12 Jul 2022 14:09:08 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E8=87=AA=E6=9B=B4=E6=96=B0=E5=A4=B1=E8=B4=A5=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/users/serializers/user.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/apps/users/serializers/user.py b/apps/users/serializers/user.py index b08b09144..eb03a0e6f 100644 --- a/apps/users/serializers/user.py +++ b/apps/users/serializers/user.py @@ -6,7 +6,7 @@ from rest_framework import serializers from common.mixins import CommonBulkSerializerMixin from common.validators import PhoneValidator -from common.utils import pretty_string +from common.utils import pretty_string, get_logger from common.drf.fields import EncryptedField from rbac.builtin import BuiltinRole from rbac.permissions import RBACPermission @@ -19,6 +19,8 @@ __all__ = [ 'InviteSerializer', 'ServiceAccountSerializer', ] +logger = get_logger(__file__) + class RolesSerializerMixin(serializers.Serializer): system_roles = serializers.ManyRelatedField( @@ -199,8 +201,10 @@ class UserSerializer(RolesSerializerMixin, CommonBulkSerializerMixin, serializer if not disallow_fields: return attrs # 用户自己不能更新自己的一些字段 - error = _('User cannot self-update fields: {}').format(disallow_fields) - raise serializers.ValidationError(error) + logger.debug('Disallow update self fields: %s', disallow_fields) + for field in disallow_fields: + attrs.pop(field, None) + return attrs def validate(self, attrs): attrs = self.check_disallow_self_update_fields(attrs)