refactor: password validation is broken in accountmanager due to required_fields zip logic

Signed-off-by: Nguyen Huy Hoang <181364121+huyhoang171106@users.noreply.github.com>
This commit is contained in:
Nguyen Huy Hoang 2026-03-26 23:25:21 +07:00
parent b6942c8352
commit 21fe368aac
1 changed files with 5 additions and 6 deletions

View File

@ -15,11 +15,10 @@ class AccountManager(BaseUserManager):
def _create_user(self, name, password, **extra_fields):
"""create regular user private"""
values = [name, password]
field_value_map = dict(zip(self.model.REQUIRED_FIELDS, values))
for field_name, value in field_value_map.items():
if not value:
raise ValueError(f"The {field_name} value must be set")
if not name:
raise ValueError("The name value must be set")
if not password:
raise ValueError("The password value must be set")
user = self.model(name=name, **extra_fields)
user.set_password(password)
@ -51,4 +50,4 @@ class Account(AbstractBaseUser, PermissionsMixin):
objects = AccountManager()
USERNAME_FIELD = "name"
REQUIRED_FIELDS = ["password"]
REQUIRED_FIELDS = []