Django DRF - 视图集中的补丁请求对象?

Posted

技术标签:

【中文标题】Django DRF - 视图集中的补丁请求对象?【英文标题】:Django DRF - Patch request object in viewset? 【发布时间】:2021-07-26 15:40:51 【问题描述】:

我们正在使用 oauth2 并在我们的测试中执行 force_login() 模拟身份验证。然而,在我们的模型视图集中,我们现在想要覆盖 create() 以检查我们将在访问令牌中获得的某些特定授权(在请求对象中,例如 request.auth['MYROLES'])。我不知道如何修补请求对象以具有预期的属性,以确保我们的测试可以正常工作而不会因缺少对象属性而失败。

有什么想法吗?

【问题讨论】:

【参考方案1】:

感谢您的 -1。

消极情绪驱使我解决问题。为了其他人的利益:

将 drf apirequestfactory() 与 force_authenticate() 一起使用。诀窍是:

force_authenticate(request, user=user, token= 'Roles' : ['role1','role2'])

dict 可以扩展以包含您的令牌提供者实现的任何其他键值对。

【讨论】:

以上是关于Django DRF - 视图集中的补丁请求对象?的主要内容,如果未能解决你的问题,请参考以下文章

DRF视图-请求与响应

drf请求与响应

Django - DRF 删除/检索/补丁返回 404 详细信息:“未找到”

067.Python框架Django之DRF视图类

Django-rest-framework --- 总结

drf序列化器之请求响应以及视图