Advertisement
Guest User

Untitled

a guest
Jan 10th, 2021
9
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.34 KB | None | 0 0
  1. from django.db import models
  2. from django.contrib.auth.models import User
  3. from django.db.models.signals import post_save
  4. from django.dispatch import receiver
  5. from django.core.validators import RegexValidator
  6.  
  7. class UserProfile(models.Model):
  8.     user = models.OneToOneField(User, on_delete=models.CASCADE)
  9.     phone_regex = RegexValidator(regex=r'^\+?1?\d{9,16}$',
  10.                                  message="Номер телефона должен быть в формате: '+700112299'. Макс. длинна = 16 знаков")
  11.     phone_number = models.CharField(max_length=16, validators=[phone_regex], blank=True, verbose_name="Телефон")
  12.     email = models.EmailField(blank=True, verbose_name="Email")
  13.     created = models.DateTimeField(auto_now_add=True, db_index=True, blank=True, verbose_name="Создан")
  14.     date_of_birth = models.DateField(blank=True, null=True)
  15.     photo = models.ImageField(upload_to='users/%Y/%m/%d', blank=True)
  16.  
  17.     def __str__(self):
  18.         return 'Профиль пользователя {}'.format(self.user.name)
  19.  
  20.  
  21. @receiver(post_save, sender=User)
  22. def create_user_profile(sender, instance, created, **kwargs):
  23.     if created:
  24.         UserProfile.objects.create(user=instance)
  25.  
  26.  
  27. # @receiver(post_save, sender=User)
  28. # def save_user_profile(sender, instance, **kwargs):
  29. #     instance.profile.save()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement