Токен django не создается при регистрации пользователя

Serializers.py

    from rest_framework import serializers
    from rest_framework.authtoken.models import Token
    
    # User Related Serializers
    class UserSerializer(serializers.ModelSerializer):
        class Meta:
            model = models.cUser
            fields = '__all__'
        
        def create(self, validated_data):
            user = models.cUser.objects.create_user(**validated_data)
            token = Token.objects.create(user=user)
            return user

models.py

from django.db import models
from django.contrib.auth.models import AbstractBaseUser, PermissionsMixin, BaseUserManager


class cUserManager(BaseUserManager):
    def create_user(self, email, password, **others):
        email = self.normalize_email(email)
        user = self.model(email=email, **others)
        user.set_password(password)
        user.save()

        return user
    
    def create_superuser(self, email, password, **others):
        others.setdefault('is_staff', True)
        others.setdefault('is_superuser', True)

        return self.create_user(email, password, **others)

class cUser(PermissionsMixin, AbstractBaseUser):
    email = models.EmailField(unique=True)
    username = models.CharField(max_length=128, unique=True)
    password = models.CharField(max_length=256, unique=True)
    is_staff = models.BooleanField(default=False)
    is_superuser = models.BooleanField(default=False)
    created_at = models.DateTimeField(auto_now_add=True)

    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = []
    objects = cUserManager()

Я создаю пользовательского пользователя (cUser) с помощью AbstractBaseUser и хочу создавать токен каждый раз, когда создается новый пользователь (используя модуль rest framework.authToken), но он не работает, что я могу сделать?

Вы можете использовать Django Signals для автоматического создания токенов после создания пользователя.

Вернуться на верх