[英]Djoser / Django Rest Framework / User Registration: How to store non required user fields
我正在使用Djoser和Django Rest Framework通過自定義用戶模型進行用戶注冊。 當我嘗試將“不需要”字段添加到我的自定義用戶模型並將其傳遞(作為** kwargs)時,不會保存這些其他字段。
這是設計使然還是保存這些竅門?
class UserManager(BaseUserManager):
def create_user(self, email, phone, password, **kwargs):
user = self.model(
email=email,
phone=phone,
**kwargs
)
user.set_password(password)
user.save(using=self._db)
return user
def create_superuser(self, email, phone, password, **kwargs):
user = self.model(
email=email,
phone=phone,
is_staff=True,
is_active=True,
**kwargs
)
user.set_password(password)
user.save(using=self._db)
return user
class User(AbstractBaseUser):
userId = models.AutoField(primary_key=True)
email = models.CharField(unique=True, max_length=45, null=False)
phone = models.CharField(max_length=15, unique=True, null=False)
password = models.CharField(max_length=255, blank=True, null=True)
is_active = models.IntegerField(blank=True, null=True)
class Meta:
managed = False
db_table = 'User'
objects = UserManager()
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['phone']
def get_full_name(self):
return self.email
def get_short_name(self):
return self.email
def natural_key(self):
return self.email
def __str__(self):
return self.email
看起來這是一個已知的Djoser問題,這里有一個解決方法。 github.com/sunscrapers/djoser/issues/249
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.