from rest_framework import serializers from userausfall.models import User class UserActivationSerializer(serializers.Serializer): password = serializers.CharField() class UserSerializer(serializers.ModelSerializer): confidant_email = serializers.EmailField() class Meta: model = User fields = ("pk", "email", "username", "confidant_email") read_only_fields = ("email",) def update(self, instance: User, validated_data): confidant_email = validated_data.pop("confidant_email") confidant, _ = User.objects.get_or_create(email=confidant_email) instance.confidant_unconfirmed = confidant return super().update(instance, validated_data) class CreateUserSerializer(serializers.ModelSerializer): class Meta: model = User fields = ("username", "password") def create(self, validated_data): return User.objects.create_user(**validated_data)