【发布时间】:2020-09-07 10:56:39
【问题描述】:
我正在 Django RF 上构建 REST Api,并在前端构建 React。我有用户,我需要用户通过他们的昵称访问他们的帐户,而不是 id(用户/鲍勃、用户/约翰等)。我一直在考虑将默认的 Django pk 更改为用户名。这样当我从 React 发出请求时,我将使用该名称。我的用户模型非常简单:
class User(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(max_length=32, unique=True)
name = models.CharField(primary_key=True, max_length=64, unique=True)
is_staff = models.BooleanField(default=False)
is_superuser = models.BooleanField(default=False)
is_active = models.BooleanField(default=True)
date_joined = models.DateTimeField(auto_now_add=True)
USERNAME_FIELD = 'email'
EMAIL_FIELD = 'email'
REQUIRED_FIELDS = []
objects = CustomUserManager()
def __str__(self):
return self.email
但我怀疑这是否是一个好主意,以及我将来是否会遇到一些意想不到的问题。我以前一直用PK。这样做是一种好习惯,还是我应该仍然使用 ID 作为 PK,在前端显示名称但在后台向用户的 ID 发出请求?
【问题讨论】:
标签: django django-rest-framework