【发布时间】:2021-04-25 09:40:28
【问题描述】:
对于我当前的项目(堆栈 = Django + API + Vuejs),到目前为止,我的 API 使用 GraphQL(通过 Django,使用 graphene-django)。但是这个库和其他链接的库(例如处理JWTs 的库)被完全废弃了,有错误和奇怪的东西,所以为了对未来更有信心,我决定切换到众所周知的Django DRF。
问题是,我现在已经非常习惯 GraphQL 系统的查询和突变,它的设计非常简单(可能是因为我已经习惯了),当涉及到 DRF 时,我觉得有点丢了。
确实,我想我理解最简单的方法是同时使用ModelSerializer 和ModelViewSet 但是......我觉得它隐藏了很多东西。就像它有默认方法(list()、retrieve()、...)。
如果我想通过只定义必要的来控制这一切怎么办? 此外,我有非常具体的需求。
例如,更新不仅仅是给出所有参数,更新模型和 TADAAA。 对于特定领域,我必须执行特定操作。 (例如:如果特定字段被修改,发送邮件,...)
也许对我的用例来说最好的方法是使用简单的视图,我的意思是,就像在 Trade-offs 中解释的那样,使用基于函数的视图可能是最接近我使用 GraphQL 所做的方法?
1 个函数 = 1 个视图(URL)?
是吗?
提前感谢您的澄清。
【问题讨论】:
标签: django django-rest-framework