Tesis 1.0.0
Loading...
Searching...
No Matches
models.py
Go to the documentation of this file.
1from django.db import models
2from django.contrib.auth.models import (AbstractBaseUser,
3 PermissionsMixin,
4 BaseUserManager)
5
6
7# Create your models here.
8
9class UsuarioManager(BaseUserManager):
10
11
12
13 def create_user(self,email,password, **extra_fields):
14 if not email:
15 raise ValueError('Falta Email')
16 user = self.model(email=email, **extra_fields)
17 user.set_password(password)
18 user.save(using = self._db)
19
20 return user
21
22
23 def create_superuser(self,email,password,**extra_fields):
24 user = self.create_user(email=email,password=password,**extra_fields)
25 user.is_staff = True
26 user.is_superuser = True
27 user.save(using = self._db)
28
29 return user
30
31
32class Usuario(AbstractBaseUser,PermissionsMixin):
33 id_usuario = models.AutoField(primary_key=True)
34 nombre = models.CharField(max_length=45)
35 email = models.EmailField(unique=True)
36 last_email = models.EmailField(blank=True, null=True) # Almacena el email anterior cuando el usuario se desactiva
37 apellido = models.CharField(max_length=45)
38 telefono = models.CharField(max_length=13)
39 password = models.CharField(max_length=128)
40 direccion = models.CharField(max_length=255, blank=True, null=True)
41 imagen_perfil_url = models.URLField(max_length=255, blank=True, null=True)
42 is_staff = models.BooleanField(default=False)
43 is_active = models.BooleanField(default=True)
44
45 class Meta:
46 managed = True
47 db_table = 'usuario'
48 verbose_name = 'Usuario'
49 verbose_name_plural = 'Usuarios'
50 def __unicode__(self):
51 return self.nombre
52 def __str__(self):
53 return self.nombre
54
55 objects = UsuarioManager()
56
57 USERNAME_FIELD = 'email'
create_user(self, email, password, **extra_fields)
Definition models.py:13
create_superuser(self, email, password, **extra_fields)
Definition models.py:23