Django REST Framework Bad Request 400
При отправке запроса серверу от CreateAPIView происходит Bad Request 400. Как исправить ошибку?
models.py
from django.contrib.auth.models import BaseUserManager
from django.db import models
from phonenumber_field.modelfields import PhoneNumberField
class CustomManager(BaseUserManager):
use_in_migrations = True
def _create_user(self, phone_number, full_name=None):
user = self.model(phone_number=phone_number, full_name=full_name)
user.save()
return user
def create_user(self, phone_number, full_name=None):
return self._create_user(phone_number, full_name)
def create_superuser(self, phone_number, full_name=None):
return self._create_user(phone_number, full_name)
class UserAccount(models.Model): #CUSTOM USER
phone_number = PhoneNumberField(unique=True, null=False)
full_name = models.CharField(name="full_name", null=True, max_length=60, help_text="ФИО")
USERNAME_FIELD = 'phone_number'
REQUIRED_FIELDS = []
objects = CustomManager()
@property
def is_anonymous(self):
"""
Always return False. This is a way of comparing User objects to
anonymous users.
"""
return False
@property
def is_authenticated(self):
"""
Always return True. This is a way to tell if the user has been
authenticated in templates.
"""
return True
serializers.py
from rest_framework import serializers
from .models import UserAccount
class UserSerializer(serializers.ModelSerializer):
class Meta(object):
model = UserAccount
fields = ('phone_number', 'full_name')
views.py
from rest_framework import generics, status
from rest_framework.permissions import AllowAny
from rest_framework.response import Response
from rest_framework.views import APIView
from .serializers import UserSerializer
class CreateUserAPIView(APIView):
# Allow any user (authenticated or not) to access this url
permission_classes = (AllowAny,)
def post(self, request):
user = request.data
serializer = UserSerializer(data=user)
serializer.is_valid(raise_exception=True)
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
