Python TypeError:create_superuser()缺少1个必需的位置参数:';名称';
即使将名称添加到models.py文件中的create_superuser函数中,我也会出现以下错误Python TypeError:create_superuser()缺少1个必需的位置参数:';名称';,python,django,django-models,django-rest-framework,Python,Django,Django Models,Django Rest Framework,即使将名称添加到models.py文件中的create_superuser函数中,我也会出现以下错误 from django.db import models from django.contrib.auth.models import AbstractBaseUser from django.contrib.auth.models import PermissionsMixin from django.contrib.auth.models import BaseUserManager # C
from django.db import models
from django.contrib.auth.models import AbstractBaseUser
from django.contrib.auth.models import PermissionsMixin
from django.contrib.auth.models import BaseUserManager
# Create your models here.
class UserProfileManager(BaseUserManager):
def create_user(self,email,name,password=None):
if not email:
raise ValueError("email is required")
email=self.normalize_email(email)
user=self.model(email=email,name=name)
user.set_password(password)
user.save(using=self._db)
return user
def create_superuser(self,email,name,password):
"""creates new super user with details """
user=self.create_user(email,name,password)
user.is_superuser=True
user.is_staff=True
user.save(using=self._db)
return user
class UserProfiles(AbstractBaseUser,PermissionsMixin):
email=models.EmailField(max_length=255,unique=True)
name=models.CharField(max_length=255)
is_active=models.BooleanField(default=True)
is_staff=models.BooleanField(default=False)
objects=UserProfileManager()
USERNAME_FIELD='email'
REQUIRED_FIELD=['name']
def get_fullname(self):
return self.name
def get_shortname(self):
return self.name
def __str__ (self):
return self.email
当我试图运行python manage.py createsuperuser命令时,我遇到了以下错误
TypeError: create_superuser() missing 1 required positional argument: 'name'
我不知道我的错在哪里
感谢您的任何帮助
提前感谢参数应该是
用户名
,而不是名称
。您需要向函数传递参数“name”的值,或者允许“name”为无
。我也会使用“username”而不是“name”。@WillemVanOnsem我不知道你的方法到底是什么。为什么会使用username而不是name,有什么原因吗?我的意思是函数的参数应该是username
。原因是,这是您应该提供的接口。尝试添加用户名,但没有用