小编Mub*_*ved的帖子

Django:如何覆盖唯一验证器错误消息?

我有一个自定义用户模型类

\n
from django.contrib.auth.models import AbstractBaseUser, PermissionsMixin, BaseUserManager\n\nclass CustomUser(AbstractBaseUser, PermissionsMixin)\n    ...\n    email = models.EmailField(_('email address'), unique=True)\n    user_name = models.CharField(max_length=150, unique=True) # Full name\n    phone_number = models.CharField(max_length=20, unique=True)\n
Run Code Online (Sandbox Code Playgroud)\n

及相关视图

\n
class CustomUserViewSet(viewsets.ModelViewSet):\n    pagination_class = BasePagination\n    queryset = CustomUser.objects.all()\n    ...\n\n    def create(self, request, *args, **kwargs):\n        serializer = CustomUserSerializer(data=request.data)\n\n        if serializer.is_valid():\n            user = serializer.save()\n            if user:\n                json = serializer.data\n                send_invitation_email(\n                    user=user,\n                    email=json["email"],\n                    password=request.data["password"],\n                    phone=json["phone_number"]\n                )\n                create_chats(user)\n                return Response(json, status=status.HTTP_201_CREATED)\n        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)\n
Run Code Online (Sandbox Code Playgroud)\n

如果电子邮件、用户名重复,我会收到以下错误消息:

\n
\n

{"user_name":["自定义用户 \xd1\x81 \xd1\x82\xd0\xb0\xd0\xba\xd0\xb8\xd0\xbc 用户名 \xd1\x83\xd0\xb6\xd0\xb5 \xd1\ …

authentication django django-models django-rest-framework

5
推荐指数
1
解决办法
1461
查看次数