我正在设置自定义用户身份验证,当我尝试在Powershell中创建超级用户时,出现错误“ [上一行重复986次以上] RecursionError:超过最大递归深度” 指的是我的create_superuser()
def create_superuser(self, username, password=None):
user = self.create_superuser(
username,
password = password,
is_staff = True,
is_admin = True
)
user.save(using=self._db)
return user
答案 0 :(得分:1)
您似乎要调用重载函数。
在Python中,没有函数重载。相反,函数可以具有灵活的签名(optional arguments, receiving any arguments via *args
and **kwargs
)。
如果您在同一个作用域中定义了两个具有相同名称的函数,则解释器稍后遇到的一个函数将简单地替换前一个。
因此,您需要使用灵活的签名将两个功能合并为一个。 (没有什么可以阻止您分离辅助函数或其他功能的,但它们需要使用不同的名称)。
答案 1 :(得分:0)
class UserProfileManager(BaseUserManager):
""" Manager para perfiles de usuario """
def create_user(self, username, password=None):
""" Crear Nuevo UserProfile """
if not username:
raise ValueError('username!!!')
#email= self.normalize_email(email)
user = self.model(username=uername)
user.set_password(password)
user.save(using=self._db)
return user
def create_superuser(self, username, password):
user = self.create_user(username=username,
password = password,
is_staff=True,
is_admin = True)
user.save(using=self._db)
return user