Professional Documents
Culture Documents
Django Instructions
Django Instructions
**********admin Model************
class UserManager(BaseUserManager):
use_in_migrations = True
user.is_superuser = True
user.is_staff = True
user.save(using=self._db)
return user
class User(AbstractUser):
CHOICE_TYPE = (
(1, _("Begin")),
(2, _("Check Sms")),
(3, _("Succes"))
)
GENDER_TYPE = (
(1, _("Man")),
(2, _("Woman"))
)
middle_name = models.CharField(blank=True, null=True, max_length=250)
username = models.CharField(blank=True, null=True, max_length=50)
phone = models.CharField(max_length=13, unique=True)
region = models.ForeignKey(Region, blank=True, null=True,
related_name='region_users', on_delete=models.DO_NOTHING)
city = models.ForeignKey(Region, blank=True, null=True,
related_name='city_users', on_delete=models.DO_NOTHING)
address = models.TextField(null=True, blank=True)
avatar = models.ImageField(upload_to=get_avatar,
default='default__images/user.png', null=True, blank=True)
birthday = models.DateField(null=True, blank=True)
gender = models.IntegerField(choices=GENDER_TYPE, default=1)
verified = models.IntegerField(choices=CHOICE_TYPE, default=1)
is_active = models.BooleanField(default=True)
date_joined = models.DateTimeField(auto_now_add=True)
code = models.CharField(max_length=10, null=True, blank=True)
firebase_token = models.CharField(max_length=255, null=True, blank=True)
created_at = models.DateTimeField(auto_now_add=True, null=True)
updated_at = models.DateTimeField(auto_now=True, null=True)
USERNAME_FIELD = 'phone'
objects = UserManager()
REQUIRED_FIELDS = ['email', 'first_name', 'last_name']
def __str__(self):
return 'User — ' + self.phone
def generate_code(phone):
if phone:
code = random.randint(9999, 99999)
return code
return False
post_save.connect(receiver=verification_code_saver, sender=User)
***************admin.py*******************
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin as DjangoUserAdmin
from django.utils.translation import ugettext_lazy as _
from .models import User
from related_admin import RelatedFieldAdmin
@staticmethod
def get_fullname(obj):
return "{} {}".format(obj.first_name, obj.last_name)
admin.site.register(User, UserAdmin)