def create_with_username(self, **kwargs): password = kwargs.pop('password', None) or generate_password() first_name = kwargs.get('first_name', '') last_name = kwargs.get('last_name', '') if not last_name: raise ValueError("Must supply at least last name with this method.") username = first_name[0] + last_name if first_name else last_name username = username.lower() username = kwargs.pop('username', username) # Check for uniqueness of username: username = self.unique_username(username) # Create the user with the new values kwargs['username'] = username student = self.create(**kwargs) # Set the password on the model student.set_password(password) student.save() return student
def create_user(self, first_name, last_name, email): password = generate_password() student = Student.objects.create_with_username( first_name=first_name.title(), last_name=last_name.title(), email=email.lower(), password=password ) if self.verbosity > 1: print student.full_email print "U: %s P: %s" % (student.username, password) self.count += 1 return student, password