1. 程式人生 > 其它 >ERRORS:*: (auth.E003) ‘User.username‘ must be unique because it is named as the ‘USERNAME_FIELD

ERRORS:*: (auth.E003) ‘User.username‘ must be unique because it is named as the ‘USERNAME_FIELD

技術標籤:django

在找一個唯一索引欄位 例: email

class MyUser(AbstractUser):
    username = models.CharField(max_length=30, unique=False)
    email = models.EmailField(max_length=255, unique=True)
    USERNAME_FIELD = 'email'

如果您使用可支援它的自定義身份驗證後端,則允許使用非唯一的使用者名稱欄位。

如果要使用django的預設身份驗證後端,則無法使使用者名稱非唯一。

您必須使用get_user(user_id)實現一個類,併為自定義後端實現身份驗證(請求,**憑據)方法。

https://docs.djangoproject.com/zh-hans/3.1/topics/auth/customizing/