I have a problem when I want to create an object using CreateAPIView, I get the message: "detail": "Authentication credentials were not provided.".
I use rest-auth and rest-authtoken apps.
this is what I made so far:
models.py
class CustomUser(AbstractUser):
objects = CustomUserManager()
is_normal_user = models.BooleanField(default=False)
is_corporate_user = models.BooleanField(default=False)
class CompanyProfile(models.Model):
user = models.OneToOneField(CustomUser, on_delete=models.CASCADE)
corporate_name = models.CharField(max_length=30)
serializers.py
class CompanyProfileSerializer(serializers.ModelSerializer):
class Meta:
model = CompanyProfile
fields = ['user', 'corporate_name',]
read_only_fields = ('id',)
views.py
class Authorized_Company_User(permissions.BasePermission):
def has_permission(self, request, view):
return bool(request.user and request.user.is_corporate_user)
class CompanyCreateProfileView(generics.CreateAPIView):
#queryset = CompanyProfile.objects.all()
serializer_class = CompanyProfileSerializer
#authentication_classes = (TokenAuthentication,)
permission_classes = (IsAuthenticated, Authorized_Company_User)
I am wondering if I need to define create function, and use get method to get user authtoken.