feat: cms softdelet bug fix
This commit is contained in:
+7
-2
@@ -81,11 +81,14 @@ class CmsUserWriteSerializer(serializers.ModelSerializer):
|
||||
value = (value or '').strip()
|
||||
if not re.match(r'^1[3-9]\d{9}$', value):
|
||||
raise AppError('CMS_VALIDATION_ERROR', '手机号格式不合法', status_code=400)
|
||||
# 含已停用账号:手机号唯一约束对软删行仍生效,提示需复用应先恢复/换号
|
||||
qs = User.all_objects.filter(phone=value)
|
||||
if self.instance is not None:
|
||||
qs = qs.exclude(pk=self.instance.pk)
|
||||
if qs.exists():
|
||||
raise AppError('CMS_USER_PHONE_EXISTS', '手机号已存在', status_code=400)
|
||||
raise AppError('CMS_USER_PHONE_EXISTS',
|
||||
'手机号已存在(含已停用账号),如需复用请先恢复或更换手机号',
|
||||
status_code=400)
|
||||
return value
|
||||
|
||||
def validate(self, attrs):
|
||||
@@ -131,7 +134,9 @@ class CmsUserWriteSerializer(serializers.ModelSerializer):
|
||||
username=phone, password=f'Pass{phone}', **validated_data
|
||||
)
|
||||
except IntegrityError:
|
||||
raise AppError('CMS_USER_PHONE_EXISTS', '手机号已存在', status_code=400)
|
||||
raise AppError('CMS_USER_PHONE_EXISTS',
|
||||
'手机号已存在(含已停用账号),如需复用请先恢复或更换手机号',
|
||||
status_code=400)
|
||||
|
||||
def update(self, instance, validated_data):
|
||||
for key, val in validated_data.items():
|
||||
|
||||
Reference in New Issue
Block a user