首页 > 解决方案 > Django Rest Framework 密码和唯一电子邮件的额外 kwargs 字段

问题描述

我尝试为我的模型创建序列化程序并尝试序列化模型我希望在****尝试输入密码时以格式输入密码字段,并且电子邮件在 Extra kwargs 字段中是唯一的我该怎么做?这是我尝试过的序列化程序。

   User = get_user_model()
    
    
    class AddBusCompanyUserSerializer(serializers.ModelSerializer):
        position = serializers.PrimaryKeyRelatedField(queryset=StaffPosition.objects.all())
    
        class Meta:
            model = User
            fields = (
                'phone_number',
                'password',
                'position',
                'email',
            )
            extra_kwargs = {'password': {'write_only': True},'email':?}
}

我应该尝试使用什么验证器使电子邮件唯一并且密码字段以 **** 格式输入?

标签: pythondjangodjango-rest-framework

解决方案


终于自己动手了

 extra_kwargs = {
        'password': {
            'write_only': True,
            'style': {'input_type': 'password'}
        },
        'email': {
            'validators': [
                UniqueValidator(
                    queryset=User.objects.all()
                )
            ]
        }
    }
    'style': {'input_type': 'password'}

允许密码在序列化程序中采用 **** 格式,并且

'validators': [
                UniqueValidator(
                    queryset=User.objects.all()
                )
            ]

允许电子邮件是唯一的


推荐阅读