You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

35 lines
1.3 KiB

from django.db import models
from django.contrib.auth.models import AbstractUser
from django.contrib.postgres import fields as pgfields
from django.utils.translation import gettext_lazy as _
class User(AbstractUser):
ROLE_CHOICES = (
(0, 'пользователь'),
(1, 'автор'),
(2, 'администратор'),
)
GENDER_CHOICES = (
('n', 'не указан'),
('m', 'Мужчина'),
('f', 'Женщина'),
)
email = models.EmailField(_('email address'), unique=True)
role = models.PositiveSmallIntegerField(default=0, choices=ROLE_CHOICES)
gender = models.CharField(max_length=1, choices=GENDER_CHOICES)
country = models.CharField(max_length=50, default='')
city = models.CharField(max_length=85, default='')
about = models.CharField(max_length=1000, default='')
instagram = models.URLField(default='')
facebook = models.URLField(default='')
twitter = models.URLField(default='')
pinterest = models.URLField(default='')
youtube = models.URLField(default='')
vkontakte = models.URLField(default='')
fb_id = models.PositiveIntegerField(null=True, blank=True, unique=True)
fb_data = pgfields.JSONField(default={})
is_email_proved = models.BooleanField(default=False)
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = []