/
home
/
report
/
report
/
accountAuth
/
File Upload :
llllll
Current File: /home/report/report/accountAuth/models.py
from django.db import models from django.contrib.auth.models import AbstractUser,UserManager # Create your models here. class ReportUserManager(UserManager): def create_user(self, mobile, password=None, **extra_fields): if not mobile: raise ValueError('The given mobile must be set') mobile = self.model.normalize_username(mobile) user = self.model(mobile=mobile, **extra_fields) if password: user.set_password(password) user.save() return user def create_superuser(self, mobile, password, email): supper_user = self.create_user(mobile=mobile, password=password, email=email) supper_user.is_superuser = True supper_user.set_password(password) supper_user.save() return supper_user class Category(models.Model): TYPE = { "1": 'طلای مهدی', "2": 'طلای هنزا', "3": 'طلای لیمان', "4": 'طلای ارمغان', } SELECT = [ 'name', ] name = models.CharField(max_length=100, blank=False, null=False) count = models.PositiveIntegerField(blank=False, null=False, default=0) type = models.SmallIntegerField(blank=True, null=True) color = models.JSONField(blank=True, null=True) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) deleted_at = models.DateTimeField(null=True, blank=True) class Group(models.Model): SELECT = [ 'name', ] name = models.CharField(max_length=100, blank=False, null=False) count = models.PositiveIntegerField(blank=False, null=False, default=0) GID = models.PositiveIntegerField(blank=True, null=True) type = models.SmallIntegerField(blank=True, null=True) category = models.ForeignKey(Category, on_delete=models.SET_NULL, null=True, blank=True) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) deleted_at = models.DateTimeField(null=True, blank=True) class User(AbstractUser): TYPE_USER_CHOICES = ( (1, 'ادمین کل'), # ادمین کل (2, 'مدیرکل'),# مدیرکل (3, 'مدیر'),#مدیر (4, 'کارشناس فروش'),#کارشناس فروش ) TYPE_USER_STR = [ {"1": 'ادمین کل'}, # ادمین کل {"2": 'مدیرکل'}, # مدیرکل {"3": 'مدیر'}, # مدیر {"4": 'کارشناس فروش'}, # کارشناس فروش ] SELECT = [ 'username', 'name', 'first_name', 'last_name', ] objects = ReportUserManager() USERNAME_FIELD = 'mobile' username = models.CharField(default=None, max_length=150, unique=True, null=True, blank=True) name = models.CharField(max_length=100, blank=True, null=True) mobile = models.CharField(max_length=11, blank=False, null=False, unique=True) type_user = models.PositiveSmallIntegerField(default=1, choices=TYPE_USER_CHOICES) type_database = models.JSONField(blank=True, null=True) sms_token = models.CharField(max_length=10, null=True, blank=True) group = models.ManyToManyField(Group, null=True, blank=True,related_name='users') created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) deleted_at = models.DateTimeField(null=True, blank=True) def save(self, *args, **kwargs): self.name = self.first_name + ' ' + self.last_name self.username = self.mobile super(User, self).save(*args, **kwargs)
Copyright ©2k19 -
Hexid
|
Tex7ure