在用户模型Django中使用名称作为主键而不是id

时间:2020-09-07 10:56:39

标签: django django-rest-framework

我正在Django RF上构建REST Api,并在前端构建React。我有用户,我需要用户通过其昵称而不是ID(用户/鲍勃,用户/约翰等)访问其帐户。我一直在考虑将默认的Django pk更改为用户名。这样,当我从React发出请求时,我将使用名称。我的用户模型非常简单:

.npy

但是我怀疑这是否是一个好主意,以及将来是否会遇到一些意外问题。我以前一直使用PK。这是一个好习惯吗?还是我还是应该将ID用作PK,在前端显示名称,但在后台请求用户ID?

1 个答案:

答案 0 :(得分:1)

这是保留主键的最佳方法,只需使用名称即可调整DRF lookup_field而不是id。

例如:

Class UserViewset(viewsets.ModelViewSet):
   lookup_field = 'name' #default is id