Advertisement
Guest User

Untitled

a guest
Jun 17th, 2018
291
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.02 KB | None | 0 0
  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3.  
  4. from django.db import models
  5. from django.contrib.auth.models import (AbstractBaseUser, PermissionsMixin, UserManager)
  6.  
  7. class UserProfile(AbstractBaseUser, PermissionsMixin):
  8.  
  9.     username = models.CharField(
  10.         'CNPJ', max_length=20, unique=True
  11.     )
  12.  
  13.     razao_social = models.CharField(
  14.                 'Razão Social', max_length=100)
  15.  
  16.     telefone = models.CharField('Telefone',max_length=20, blank=True)
  17.     celular = models.CharField('celular',max_length=20, blank=True)
  18.     email = models.EmailField('E-mail', unique = True, max_length=255,)
  19.  
  20.     is_active = models.BooleanField('Esta ativo?', blank=True, default=True)
  21.     is_staff = models.BooleanField('E da equipe?', blank=True, default=False)
  22.     date_joined = models.DateTimeField('Data de entrada', auto_now_add=True)
  23.  
  24.     objects = UserManager()
  25.  
  26.     USERNAME_FIELD = 'username' #Campo que e unico e referencia da hora do login
  27.     REQUIRED_FIELDS = ['email'] #Para criar super-usuario
  28.  
  29.     def __str__(self):
  30.         return self.username
  31.  
  32.     def get_short_name(self):
  33.         return self.username
  34.  
  35.     def get_full_name(self):
  36.         return str(self)
  37.  
  38.     class Meta:
  39.         verbose_name = "Usuario"
  40.         verbose_name_plural = "Usuarios"
  41.  
  42. #Done
  43. class Cliente(UserProfile):
  44.  
  45.     def __str__(self):
  46.         return self.username
  47.  
  48.     class Meta:
  49.         verbose_name = "Cliente"
  50.         verbose_name_plural = "Clientes"
  51.  
  52. #Done
  53. class Contador(UserProfile):
  54.  
  55.     clientes = models.ForeignKey(Cliente, on_delete=models.CASCADE,blank = True,null=True)
  56.  
  57.     crc =  models.CharField('CRC',unique=True,  max_length=20)
  58.     nome = models.CharField('Nome', blank= True, max_length=100)
  59.  
  60.     def __str__(self):
  61.         return self.crc
  62.  
  63.     def get_short_name(self):
  64.         return self.nome
  65.  
  66.     def get_full_name(self):
  67.         return str(self)
  68.  
  69.     class Meta:
  70.         unique_together = (("crc", "email"),)
  71.         verbose_name = "Contador"
  72.         verbose_name_plural = "Contadores"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement