🙆

【Django】Pythonで作るRest API【29Register Serializer】

2023/02/18に公開

【29Register Serializer】

YouTube: https://youtu.be/UwH25yLibh8

https://youtu.be/UwH25yLibh8

今回はRegister用のシリアライザーを作成します。

「extra_kwargs」の部分では簡単ではあるのですが、
バリデーションの設定が可能です。

「fields」に「password」の項目があるのですが、
こちらはテストでどのようなデータが作成されるか
確認するために設定していますので
パスワードを表示したくない場合は削除しても大丈夫です。

myapp/accounts/serializers.py
from rest_framework import serializers
from django.contrib.auth.models import User

class RegisterSerializer(serializers.ModelSerializer):
  class Meta:
    model = User
    fields = ['first_name', 'last_name', 'email', 'password']

    extra_kwargs = {
      'first_name': {'required': True, 'allow_blank': False},
      'last_name': {'required': True, 'allow_blank': False},
      'email': {'required': True, 'allow_blank': False},
      'password': {'required': True, 'allow_blank': False, 'min_length': 8},
    }

class UserSerializer(serializers.ModelSerializer):
  class Meta:
    model = User
    fields = ['id', 'username', 'email']

Discussion