class MemberStaffManager(BaseUserManager):
def create_user(self, staff_id, company, position, name, password=None):
user = self.model(
staff_id=staff_id,
company=company,
name=name,
position=position,
)
user.set_password(password)
user.save(using=self._db)
return user
我正在研究Django自定义用户,但我不知道password=None
的含义。
可能不是password=null
,因为user.set_password(password)
是发送password-value
的代码。
请帮帮我。
答案 0 :(得分:1)
这与django无关;它是Python的核心功能。它被称为"默认参数"。
请考虑以下代码:
def f(x=3):
print(x)
f() # prints "3"
f(4) # prints "4"
如您所见,如果未提供任何值,则使用=
之后的值。这对于定义具有可以使用不同参数自定义的默认行为的函数非常有用。
在您提供的django用例中,他们只是允许您在创建用户时不定义密码。