我尝试使用以下命令创建一个超级用户:“python manage.py createsperuser”,但我不能。下面是错误:“类型错误:MyUserManager.create_superuser()缺少1个必需的位置参数:'username'"。
下面是我的代码:'''
类MyUserManager(UserManager):
def create_superuser(self, username: str, email: str | None, password: str | None, **extra_fields: Any) -> Any:
self.username = extra_fields['phone']
REQUIRED_FIELDS = ['username']
return super().create_superuser(username, email, password, **extra_fields)
def create_user(self, username: str, email: str | None = ..., password: str | None = ..., **extra_fields: Any) -> Any:
username = extra_fields['phone']
return super().create_user(username, email, password, **extra_fields)
字符串
'''
2条答案
按热度按时间pbgvytdp1#
这个错误告诉你,这个函数需要一个名为
username
的关键字参数。所以你很可能需要这样调用函数字符串
快速侧注:有人可能会忍不住这么做
型
因为关键字参数后面不能跟普通参数。
csbfibhn2#
我认为你应该删除它
REQUIRED_FIELDS=['username']
,因为在django中默认情况下它是username