I want to create a user with type 'learner'using mobile nummber,when i am trying to do this there is an error,
django.db.utils.IntegrityError: duplicate key value violates unique constraint "user_user_username_key"
DETAIL: Key (username)=() already exists.
views.py
class Register(APIView):
def get_permissions(self):
return (AllowAny(),)
def post(self, request, *args, **kwargs):
mobile = request.data.get('mobile')
if mobile:
data = {'mobile': mobile}
serializer = RegisterSerializer(data=data)
if serializer.is_valid(raise_exception = True):
serializer.save()
return Response('sucess')
else:
return Response('error')
serializers.py
class RegisterSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('mobile',)
def create(self, validated_data):
user_data = validated_data.pop('user')
user_data['user_type'] = 'learner'
user_serializer = UserSerializer(data=user_data)
user_serializer.is_valid(raise_exception=True)
user = user_serializer.save()
user.groups.add(validated_data['group'])
user.save()
return user
instance = self.Meta.model(**validated_data)
instance.user = user
instance.save()
return instance