from django.db import models from django.utils.translation import gettext_lazy as _ from django.contrib.auth.models import AbstractBaseUser, PermissionsMixin from .managers import ReyMotaUserManager from django.conf import settings import uuid # Create your models here. class ReyMotaUser(AbstractBaseUser, PermissionsMixin): email = models.EmailField(_("email address"), unique=True) foto = models.ImageField(upload_to="profile_images", default="profile_images/default.jpg", blank=True) is_staff = models.BooleanField(default=False) is_active = models.BooleanField(default=True) nombre = models.CharField(max_length=200, blank=True, null=True) USERNAME_FIELD = "email" REQUIRED_FIELDS = [] objects = ReyMotaUserManager() def __str__(self): return self.email class PerfilUsuario(models.Model): usuario = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name="perfilusuario") acepto_politica = models.BooleanField(default=True) token_activacion = models.UUIDField(default=uuid.uuid4, unique=True, null=True, blank=True) def generar_nuevo_token(self): self.token_activacion = uuid.uuid4() self.save() def __str__(self): return f"Perfil de {self.usuario}"