首页 > 解决方案 > 当api中发生多个帖子时,在用户的电子邮件中显示验证错误,我该如何解决?

问题描述

在序列化器中:

class EventUserRegisterSerializer(ModelSerializer):
   first_name = serializers.CharField(write_only=True)
   last_name = serializers.CharField(write_only=True)
   email = serializers.EmailField(validators= 
   [UniqueValidator(queryset=User.objects.all())], write_only=True)

意见:

  try:
        user = User.objects.get(phone_number=phone_number, 
        email=email)
        user.first_name = first_name
        user.last_name = last_name

  except User.DoesNotExist:

       user = 
          User.objects.create(username=username,first_name=first_name, 
          last_name=last_name, phone_number=phone_number,
                                    email=email)

模型:

class User(AbstractUser):
    first_name = models.CharField(max_length=200, blank=True, 
    default="")
    last_name = models.CharField(max_length=200, blank=True, 
    default="")
    phone_number = models.CharField(max_length=20, unique=True, 
    default="")
    timestamp = UnixDateTimeField(auto_now=True)

    @property
    def unique_id(self):
         return self.first_name + self.timestamp

我有一个部分支付系统,所以我必须完成多个“发布”,但出现验证错误

标签: django-rest-framework

解决方案


推荐阅读