class CustomUser(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(_('email address'), unique=True)
personal_Id = models.CharField(max_length=12, blank=False)
first_name = models.CharField(_('first name'), max_length=30, blank=True)
middle_name = models.CharField('middle name', max_length=30, blank=True)
last_name = models.CharField(_('last name'), max_length=30, blank=True)
is_staff = models.BooleanField(default=False)
is_active = models.BooleanField(default=True)
date_joined = models.DateTimeField(default=timezone.now)
avatar = models.ImageField(upload_to='images', blank=True)
def __str__(self):
return self.email
def full_name(self):
return '%s %s %s' % (self.first_name, self.middle_name, self.last_name)
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = []
objects = CustomUserManager()
class Address(models.Model):
CustomUser = models.ForeignKey(CustomUser, on_delete=models.CASCADE)
address = models.CharField(max_length=60, blank=False)
zip_code = models.CharField(max_length=8, blank=False)
city = models.CharField(max_length=30, blank=False)
state = models.CharField(max_length=30, blank=False)
active = models.BooleanField(name='active', default=True, editable=True)
address_reg_date = models.DateTimeField(default=timezone.now)
class Meta:
verbose_name_plural = "Address"
def __str__(self):
return self.address +', '+ str(self.zip_code) + ', ' + self.city