|
|
|
|
@ -5,7 +5,7 @@ from phonenumber_field.modelfields import PhoneNumberField |
|
|
|
|
from django.db import models |
|
|
|
|
from django.db.models.signals import post_save |
|
|
|
|
from django.dispatch import receiver |
|
|
|
|
from django.contrib.auth.models import AbstractUser, UserManager |
|
|
|
|
from django.contrib.auth.models import AbstractUser |
|
|
|
|
from django.contrib.postgres import fields as pgfields |
|
|
|
|
from django.utils.timezone import now |
|
|
|
|
from django.utils.translation import gettext_lazy as _ |
|
|
|
|
@ -62,11 +62,13 @@ class User(AbstractUser): |
|
|
|
|
USERNAME_FIELD = 'email' |
|
|
|
|
REQUIRED_FIELDS = ['username'] |
|
|
|
|
|
|
|
|
|
non_polymorphic = models.Manager() |
|
|
|
|
|
|
|
|
|
class Meta(AbstractUser.Meta): |
|
|
|
|
ordering = ('-date_joined',) |
|
|
|
|
base_manager_name = 'non_polymorphic' |
|
|
|
|
|
|
|
|
|
def save(self, *args, **kwargs): |
|
|
|
|
if self.password is None and self._password is None: |
|
|
|
|
self._password = self.objects.make_random_password() |
|
|
|
|
super().save(*args, **kwargs) |
|
|
|
|
|
|
|
|
|
def serialized(self): |
|
|
|
|
user_data = serializers.user.UserSerializer(instance=self).data |
|
|
|
|
|