【发布时间】:2018-03-16 22:58:25
【问题描述】:
我有一个架构问题。我正在使用 Django(带有管理面板)和 DRF(使用 JWT 进行无状态身份验证的 api)。
Django 具有由模型表示的管理员用户,它或多或少与默认的 Django 用户模型相同。管理员只能使用 Django Admin,不能使用 DRF api。
DRF 的 API 用户只能通过 DRF 使用 api,并且不能与 Django Admin 或 Django Session 等交互。
我知道最好的方法是使用多模型继承,例如:
class User(DjangoUserModel):
pass
class Admin(User):
pass
class API(User):
pass
AUTH_USER_MODEL = "User"
但问题是,这些用户完全不同。例如:API 用户具有复杂的复合键作为用户名字段,这不可能与简单的Admin 用户名字段组合。以及许多其他差异。 ..
问题是:我可以在 DRF 中使用不是 AUTH_USER_MODEL 实例的用户对象吗?所以self.request.user 将存储一个与AUTH_USER_MODEL 没有任何连接的模型实例。你们有没有做过类似的事情?
【问题讨论】:
标签: python django django-rest-framework