Hello,
I don't quite get the code in your method: 'MyUserManager.create_user':
user.set_password(self.cleaned_data["password"])You're in your Manager method but call self.cleaned_data ? You can set a breakpoint inside your method with pdb to see what's going on with your fields? On 11/12/2015 04:11 PM, Benjamin Smith wrote:
I have my own custom User model, and its own Manger too. Models: class MyUser(AbstractBaseUser, PermissionsMixin): email = models.EmailField(max_length=255, unique=True) first_name = models.CharField(max_length=35) last_name = models.CharField(max_length=35) username = models.CharField(max_length=70, unique=True) date_of_birth = models.DateField() is_active = models.BooleanField(default=True) is_admin = models.BooleanField(default=False) @property def is_staff(self): return self.is_admin def get_full_name(self): return ('%s %s') % (self.first_name, self.last_name) def get_short_name(self): return self.username objects = MyUserManager() USERNAME_FIELD = 'email' REQUIRED_FIELDS = ['first_name', 'last_name', 'username', 'date_of_birth'] Manager: class MyUserManager(BaseUserManager): def create_user(self, email, first_name, last_name, username, date_of_birth, password=None, **kwargs): if not email: raise ValueError('User must have an email address') user = self.model( email=self.normalize_email(email), first_name=first_name, last_name=last_name, username=username, date_of_birth=date_of_birth, **kwargs ) user.set_password(self.cleaned_data["password"]) user.save(using=self._db) return user def create_superuser(self, email, first_name, last_name, username, date_of_birth, password, **kwargs): user = self.create_user( email, first_name=first_name, last_name=last_name, username=username, date_of_birth=date_of_birth, password=password, is_superuser=True, **kwargs ) user.is_admin = True user.save(using=self._db) return userEverything works when creating a new user without any errors. But when I try to login I can't. So I checked the user's email and password to confirm. Then I noticed that the password is displayed as plain text (eg. *strongpassword)*, and when changed the admin form to get the hashed password using *ReadOnlyPasswordHashField()* I get an error inside the password field, even though I used *set_password()* for the Manger inside the *create_user()* function./Invalid password format or unknown hashing algorithm/However, if I manually do *set_password('strongpassword')* for that user inside the console, then only the password is hashed. Could you please help me solve this problem. Thank you.--You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected] <mailto:[email protected]>. To post to this group, send email to [email protected] <mailto:[email protected]>.Visit this group at http://groups.google.com/group/django-users.To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAM4YLWJNGdSj-rVAuhta_UA50Cjna8zg-c14FPxK%3DtdU49mngQ%40mail.gmail.com <https://groups.google.com/d/msgid/django-users/CAM4YLWJNGdSj-rVAuhta_UA50Cjna8zg-c14FPxK%3DtdU49mngQ%40mail.gmail.com?utm_medium=email&utm_source=footer>.For more options, visit https://groups.google.com/d/optout.
-- aRkadeFR -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/5644AE3A.5050609%40arkade.info. For more options, visit https://groups.google.com/d/optout.

