【问题标题】:User Model Serializer required Validation Error用户模型序列化程序需要验证错误
【发布时间】:2018-07-29 10:45:48
【问题描述】:

我想为我的项目创建一个注册应用。 这是我的序列化程序:

from rest_framework import serializers
from rest_framework.validators import UniqueValidator
from django.contrib.auth.models import User

from rest_framework import serializers
from django.contrib.auth import get_user_model # If used custom user model

UserModel = get_user_model()


class UserSerializer(serializers.ModelSerializer):

    password = serializers.CharField(write_only=True)


    def create(self, validated_data):


        user = UserModel.objects.create(
            username=validated_data['username'],
            email=validated_data['email'],
            first_name=validated_data['first_name'],
            last_name=validated_data['last_name']
        )

        user.set_password(validated_data['password'])

        return user


    class Meta:
        model = User
        fields = ('id', 'username', 'password','email','first_name','last_name')
        write_only_fields = ('password',)
        read_only_fields = ('id',)

如您所见,我使用了 UserModel,它是 rest_framework 的默认模型之一。我想让我的注册序列化程序需要 first_name 字段。

等待您的帮助。

【问题讨论】:

    标签: python django rest frameworks


    【解决方案1】:

    您需要为first_name 字段指定required=True 属性:

    class UserSerializer(serializers.ModelSerializer):
        first_name = serializers.CharField(required=True)
        password = serializers.CharField(write_only=True)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 2016-06-04
      • 1970-01-01
      • 2018-11-18
      • 2019-08-28
      • 2019-05-08
      • 2015-06-18
      相关资源
      最近更新 更多