Set random password for user after create

remotes/origin/hasaccess
Ivlev Denis 8 years ago
parent 7e552a83d4
commit 6f12fe87b2
  1. 10
      apps/user/models.py

@ -5,7 +5,7 @@ from phonenumber_field.modelfields import PhoneNumberField
from django.db import models from django.db import models
from django.db.models.signals import post_save from django.db.models.signals import post_save
from django.dispatch import receiver 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.contrib.postgres import fields as pgfields
from django.utils.timezone import now from django.utils.timezone import now
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
@ -62,11 +62,13 @@ class User(AbstractUser):
USERNAME_FIELD = 'email' USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['username'] REQUIRED_FIELDS = ['username']
non_polymorphic = models.Manager()
class Meta(AbstractUser.Meta): class Meta(AbstractUser.Meta):
ordering = ('-date_joined',) 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): def serialized(self):
user_data = serializers.user.UserSerializer(instance=self).data user_data = serializers.user.UserSerializer(instance=self).data

Loading…
Cancel
Save