1
1
# -*- encoding: utf-8 -*-
2
2
from django .db import models
3
- from django .contrib .auth .models import AbstractBaseUser ,UserManager
3
+ from django .contrib .auth .models import AbstractBaseUser ,UserManager ,BaseUserManager
4
+
5
+
6
+ class MeetUserManager (BaseUserManager ):
7
+ def create_user (self , email , name , password = None ):
8
+ """
9
+ Creates and saves a User with the given email, date of
10
+ birth and password.
11
+ """
12
+ if not email :
13
+ raise ValueError ('Users must have an email address' )
14
+
15
+ user = self .model (
16
+ email = self .normalize_email (email ),
17
+ name = name ,
18
+ )
19
+
20
+ user .set_password (password )
21
+ user .save (using = self ._db )
22
+ return user
23
+
24
+ def create_superuser (self , email , name , password ):
25
+ """
26
+ Creates and saves a superuser with the given email, date of
27
+ birth and password.
28
+ """
29
+ user = self .create_user (email ,
30
+ password = password ,
31
+ name = name
32
+ )
33
+ user .is_admin = True
34
+ user .save (using = self ._db )
35
+ return user
4
36
5
37
# Create your models here.
6
38
class User (AbstractBaseUser ):
7
39
name = models .CharField (u"nome" ,max_length = 255 , blank = False , null = False )
8
- email = models .CharField (u"email" ,max_length = 255 , blank = False , null = False , unique = True )
40
+ email = models .EmailField (u"email" ,max_length = 255 , unique = True )
9
41
is_active = models .BooleanField (default = True )
10
42
is_admin = models .BooleanField (default = False )
11
43
@@ -14,7 +46,7 @@ class User(AbstractBaseUser):
14
46
USERNAME_FIELD = 'email'
15
47
REQUIRED_FIELDS = ['name' ]
16
48
17
- objects = UserManager ()
49
+ objects = MeetUserManager ()
18
50
19
51
class Meta :
20
52
verbose_name = u'Usuário'
0 commit comments