如何在Django中对其他表使用身份验证

时间:2019-06-29 07:45:43

标签: django django-models

我创建了一个新模型并将数据存储在该表中。 如果我使用authenticate方法,它将检查auth_user表进行身份验证,而不是我的表。我使用PostgreSQL作为后端。 如何使用我创建的表进行身份验证。 我是Django的初学者。

code

1 个答案:

答案 0 :(得分:0)

如果您希望django使用自定义用户模型,则需要在settings.py中指定AUTH_USER_MODEL

# settings.py

AUTH_USER_MODEL = 'yourapp.YourModel'

您还必须在用户模型上指定USERNAME_FIELD,并使用set_password方法来使用默认的authenticate功能。

通常,最佳实践不是完全覆盖默认模型,而是使用您的字段扩展AbstractBaseUser抽象模型。

阅读django文档中有关自定义身份验证的更多信息:https://docs.djangoproject.com/en/2.2/topics/auth/customizing/