Skip to content

Instantly share code, notes, and snippets.

@brunomichetti
Created July 1, 2022 19:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save brunomichetti/3b81921e5d1aab75eb93e6b82100ec4d to your computer and use it in GitHub Desktop.
Save brunomichetti/3b81921e5d1aab75eb93e6b82100ec4d to your computer and use it in GitHub Desktop.
# serializers.py in the users Django app
from django.db import transaction
from rest_framework import serializers
from dj_rest_auth.registration.serializers import RegisterSerializer
from users.models import GENDER_SELECTION
class CustomRegisterSerializer(RegisterSerializer):
gender = serializers.ChoiceField(choices=GENDER_SELECTION)
phone_number = serializers.CharField(max_length=30)
# Define transaction.atomic to rollback the save operation in case of error
@transaction.atomic
def save(self, request):
user = super().save(request)
user.gender = self.data.get('gender')
user.phone_number = self.data.get('phone_number')
user.save()
return user
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment