python - 迁移到 Django REST 框架
问题描述
目前,我使用 node 作为后端,并期待将我的项目转移到 django-rest-framework。在节点中,我使用了 firebase-auth 和 MySQL,并有一个名为FIREBASE_USERS
withemail
和firebase_uid
fields 的表。我正在考虑为 drf 构建自己的自定义身份验证,但无法弄清楚使用我的FIREBASE_USERS
表而不是 djangoUsers
模型。我读到 django 提供了设置。AUTH_USER_MODEL
设置您自己的自定义模型,但文档使用AbstractUser
类来创建它,我不想弄乱我的表,因为这些表也用于其他项目。任何建议,将不胜感激。
解决方案
您的自定义用户模型需要包含 (1) 中所述的属性。AbstractBaseUser
是实现这一目标的捷径。覆盖Meta.db_table
以匹配您的表名。如果这还不够,请考虑按照 (2) 中的描述创建您自己的身份验证后端,并使用您的 firebase 用户的外键创建一个 django 用户。但是为了让 django 正常运行,您的用户模型需要具有 (1) 中描述的方法。
也许(3)可以解决您的问题?
(1) https://docs.djangoproject.com/en/2.2/topics/auth/customizing/#django.contrib.auth.models.CustomUser
(2) https://docs.djangoproject.com/en/2.2/topics/auth/customizing/#writing-an-authentication-backend
推荐阅读
- vue.js - 使用函数内联显示渲染时间
- r - R:根据组和不同条件对数据框进行子集
- android - 我可以在 MPAndroidChart 中扩展 PieChart 吗?
- nginx - 是否可以覆盖 traefik 中的“服务器名称”响应标头?
- visual-studio - SSIS/SSDT 警告不会出现在错误列表中
- oracle - 循环遍历多个表的 plsql 代码
- c# - 仅在更改提示中隐藏“无偏好”按钮
- python - 有没有办法根据之前出现的 x 列中的值过滤数据框?
- r - 将字符转化为相应的定语
- php - Ubuntu 服务器能够通过 LDAP 进行连接,但不能通过 LDAPS 进行连接,尽管 LDP 显示 SSL 已启用