From 6f12fe87b201705c6b04633620fd61867811d6ec Mon Sep 17 00:00:00 2001 From: Ivlev Denis Date: Sun, 29 Apr 2018 12:52:17 +0300 Subject: [PATCH] Set random password for user after create --- apps/user/models.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/user/models.py b/apps/user/models.py index 08058bfb..7f954035 100644 --- a/apps/user/models.py +++ b/apps/user/models.py @@ -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